Alfresco Content Management Web Services
Please note that this API has been superceded by CMIS (specifically, the CMIS SOAP binding). It's use is no longer recommended.
Please also note that the endpoint for soap web services was moved for alfresco 4.2.d. To make way for the public api."
Back to Developer Guide
The following Business Use Cases and goals are driving our design:
- As easy to understand and develop against as possible
- Accessible to as many client languages as possible
- Designed for remote repository access (for composite applications and business processes)
Web Services Reference
This section provides reference material for Alfresco's Web Services.
Alfresco provides the following set of Web Services.
|Authentication||login and logout|
|Repository||query and model manipulation|
|Authoring||collaborative content creation|
|Classification||apply classifications and categories|
|Access Control||roles, permissions & ownership|
|Action||manage actions and rules|
|Administration||user management, export & import|
Each Web Service method relies upon the following data types for input and output messages. The data types are focused towards a content domain and could be used outside of the context of Web Services if required.
|Identifiers||Means for identifying and locating content|
|Query||Query and result sets|
|Meta Data||Content meta data (data dictionary)|
|Versioning||Version graphs and history|
|Classification||Categorisation of content|
The latest formal definition of the above data types can be found here in the Web Service Data Types XML Schema.
The following SOAP headers provide extra control over Web Service methods.
|QueryHeader||Provision of query hints|
|LocaleHeader||Provision of locale requirements|
|NamespaceHeader||Mapping of Namespace Prefix|
|UsernameToken Profile||Provision of security information|
The formal definition of the above headers can be found here in the SOAP Header XML Schema.
The core of any content management interface must be a query language. At the core of Alfresco's web services interface, we intend to support multiple query languages for querying and manipulating content. These can be thought of as the equivalent of SQL and SQL DML in a JDBC context. Although we support an XPath interface and Lucene now, our intention is to support a SQL-based query language. This query language is used to identify sets of operations in the web services methods.
|Content Query Language (CQL)||Query|
|Content Manipulation Language (CML)||Update||Content Manipulation Language - We are actively seeking comments|
- Upload Content Servlet - the content upload servlet can be used to stream larger content into the repository.
You will find details of how to access the Alfresco web service API from a variety of different programming languages here:
- Web Service Samples for Java
- Web Service Samples for PHP
- Web Service Samples for Ruby
- Web Service Samples for .Net
- Web Service Samples for WSS / WSSE (Web Services Security)
Alfresco's Web Service Implementation
Here, you'll find information about Alfresco's implementation of its Web Services.