To develop and customize SharePoint applications, we need to interact with SharePoint components like Web Applications, Site Collections, Sites, Custom Lists, Documents Libraries, Permissions, Users, etc. To accomplish this, either we can use SharePoint Object Model or SharePoint Web Services.
SharePoint Object Model is a .Net based Application Programming Interface to interact with SharePoint components. But all the applications written using SharePoint Object Model require to be run on the SharePoint Server itself. It is not possible to use it to work remotely with a SharePoint Server.
SharePoint Web Services provides the capability to work with SharePoint server remotely. But SharePoint Web Services are not as much as rich as SharePoint Object Model and all SharePoint features and components are not accessible through Web Services. But it includes Web Services to interact with most commonly used SharePoint features and components. If out-of-the-box SharePoint Web Services doesn’t fit on our requirements, we can also build custom web service on top of SharePoint leveraging the SharePoint Object Model API.
SharePoint Object Model is a .Net based Application Programming Interface to interact with SharePoint components. But all the applications written using SharePoint Object Model require to be run on the SharePoint Server itself. It is not possible to use it to work remotely with a SharePoint Server.
SharePoint Web Services provides the capability to work with SharePoint server remotely. But SharePoint Web Services are not as much as rich as SharePoint Object Model and all SharePoint features and components are not accessible through Web Services. But it includes Web Services to interact with most commonly used SharePoint features and components. If out-of-the-box SharePoint Web Services doesn’t fit on our requirements, we can also build custom web service on top of SharePoint leveraging the SharePoint Object Model API.
I had prepared a concise list of SharePoint Web Services for my own reference which I am sharing with you:
1) Administration Web Service (http://<site>/_vti_bin/Admin.asmx):
1) Administration Web Service (http://<site>/_vti_bin/Admin.asmx):
The Administration Web service provides methods that can beused to manage Windows SharePoint Services such as creating or deleting site collections. Following are the main methods provided by this service:
- CreateSite
- DeleteSite
- GetLanguages
- RefreshConfigCache
2) Alerts Web Service (http://<Site>/_vti_bin/Alerts.asmx):
The alerts web service provides methods for working with alert subscriptions for the listitems in a SharePoint site remotely. Alert subscriptions specify when and how notifications are sent to users when changes are made to content stored on the server. Following are the two main methods provided by this service:
- GetAlerts
- DeleteAlerts
3) Copy Web Service (http://<Site>/_vti_bin/Copy.asmx):
This web service provides capability to move files from one list to another within a SharePoint site or between different SharePoint sites. Following are the main methods provided by this service:
- GetItem
- CopyIntoItems
- CopyIntoItemsLocal
4) Document Workspace Web Service (http://<Site>/_vti_bin/Dws.asmx):
This web service provides methods for managing Document Workspace sites and the data they contain. Following are the main methods provided by this service:
a) Managing Document Workspace sites - CanCreateDwsUrl
- CreateDws
- RenameDws
- DeleteDws
- GetDwsData
- GetDwsMetaData
- UpdateDwsData
- CreateFolder
- DeleteFolder
- FindDwsDoc
- RemoveDwsUser
The Forms service provides methods for returning forms that are used in the user interface when working with the contents of a list. There are following two methods available:
- GetForm
- GetFormCollection
- CheckSubwebAndList
- CreateNewFolder
- Delete
- Download
- Edit
- GetItemsByIds
- GetItemsXMLData
- GetListItems
- ListPictureLibrary
- Rename
- Upload
The Lists Web service provides methods for working with SharePoint lists, content types, list items, and files. There are following methods that can be utilized with the Lists web service:
- AddAttachment
- AddDiscussionBoardItem
- AddList
- AddListFromFeature
- ApplyContentTypeToList
- CheckInFile
- CheckOutFile
- CreateContentType
- DeleteAttachment
- DeleteContentType
- DeleteContentTypeXmlDocument
- DeleteList
- GetAttachmentCollection
- GetList
- GetListAndView
- GetListCollection
- GetListContentType
- GetListContentTypes
- GetListItemChanges
- GetListItemChangesSinceToken
- GetListItems
- GetVersionCollection
- UndoCheckOut
- UpdateContentType
- UpdateContentTypeXmlDocument
- UpdateList
- UpdateListItems
This web service enables you to create and manage Meeting Workspace sites. Following are the main methods available in the web service:
- AddMeeting
- AddMeetingFromICal
- CreateWorkspace
- DeleteWorkspace
- GetMeetingWorkspaces
- GetMeetingsInformation
- RemoveMeeting
- RestoreMeeting
- SetAttendeeResponse
- SetWorkspaceTitle
- UpdateMeeting
- UpdateMeetingFromICal
This service provides methods that can be used to associate user identifiers (IDs) with security groups for SharePoint Web site permissions. It contains following methods:
- GetPrincipalsInGroup
- ResolvePrincipals
- SearchPrincipals
Permissions Web service provides methods for working with SharePoint list and site permissions. Following are the various methods available in this service:
- AddPermission
- AddPermissionCollection
- GetListItemPermissionsByUser
- GetListPermissionsByUser
- GetPermissionCollection
- GetPermissionsByToken
- GetPermissionsByUser
- RemovePermission
- RemovePermissionCollection
- UpdatePermission
This service provides methods for managing Active Directory e-mail distribution groups and their membership. It provides following main methods:
- CreateContact
- DeleteContact
- ModifyContact
- CreateDistributionGroup
- DeleteDistributionGroup
- ModifyDistributionGroup
- RenameDistributionGroup
- ChangeContactsMembershipInDistributionGroup
- ChangeUsersMembershipInDistributionGroup
The Site Data service provides methods that return metadata or list data from sites or lists in Microsoft Windows SharePoint Services. This web service is read only. Following are the main methods provided by this service:
- GetList
- GetListCollection
- GetListItems
- EnumerateFolder
- GetAttachments
- GetChanges
- GetContent
- GetSite
- GetWeb
- GetSiteAndWeb
- GetSiteUrl
- GetURLSegments
The Sites service provides a method for returning information about the collection of site templates on the virtual server. Following are the main methods provided by this service:
- ExportWeb
- ImportWeb
- GetSiteTemplates
- GetUpdatedFormDigest
The QueryService can be used to query the search indexes in the same way that you would search from the home page of a SharePoint site. Main methods available in this service are as below:
- Query
- QueryEx
- GetPortalSearchInfo
- GetSearchMetadata
- Registration
- Status
The Users and Groups Web service provides methods for working with users, role definitions, and groups. It provides huge number of methods which are listed below:
- AddGroup
- AddGroupToRole
- AddRole
- AddRoleDef
- AddUserCollectionToGroup
- AddUserCollectionToRole
- AddUserToGroup
- AddUserToRole
- GenerateXmlMappings
- GetAllUserCollectionFromWeb
- GetGroupCollection
- GetGroupCollectionFromRole
- GetGroupCollectionFromSite
- GetGroupCollectionFromUser
- GetGroupCollectionFromWeb
- GetGroupInfo
- GetHashCode
- GetLifetimeService
- GetRoleCollection
- GetRoleCollectionFromGroup
- GetRoleCollectionFromUser
- GetRoleCollectionFromWeb
- GetRoleInfo
- GetRolesAndPermissionsForCurrentUser
- GetRolesAndPermissionsForSite
- GetUserCollection
- GetUserCollectionFromGroup
- GetUserCollectionFromRole
- GetUserCollectionFromSite
- GetUserCollectionFromWeb
- GetUserInfo
- GetUserLoginFromEmail
- RemoveGroup
- RemoveGroupFromRole
- RemoveRole
- RemoveUserCollectionFromGroup
- RemoveUserCollectionFromRole
- RemoveUserCollectionFromSite
- RemoveUserFromGroup
- RemoveUserFromRole
- RemoveUserFromSite
- RemoveUserFromWeb
- UpdateGroupInfo
- UpdateRoleDefInfo
- UpdateRoleInfo
- UpdateUserInfo
Versions Web service provides methods for working with file versions in SharePoint document libraries. Methods included in this service:
- DeleteAllVersions
- DeleteVersion
- GetVersions
- RestoreVersion
Views Web service provides methods for creating, deleting, or updating list views. Methods included in this service are as below:
- AddView
- DeleteView
- GetView
- GetViewCollection
- GetViewHtml
- UpdateView
- UpdateViewHtml
Web Part Pages service provides methods for working with Web Parts. Following are the various methods provided by this service:
- AddWebPart
- AddWebPartToZone
- AssociateWorkflowMarkup
- ConvertWebPartFormat
- DeleteWebPart
- ExecuteProxyUpdates
- FetchLegalWorkflowActions
- GetCustomControlList
- GetDataFromDataSourceControl
- GetFormCapabilityFromDataSourceControl
- GetWebPart
- GetWebPart2
- GetWebPartCrossPageCompatibility
- GetWebPartPage
- GetWebPartPageConnectionInfo
- GetWebPartPageDocument
- GetWebPartProperties
- GetWebPartProperties2
- GetXmlDataFromDataSource
- RemoveWorkflowAssociation
- RenderWebPartForEdit
- SaveWebPart
- SaveWebPart2
- ValidateWorkflowMarkupAndCreateSupportObjects
Webs service provides methods for working with sites and subsites. Following are the various methods provided by this service:
- CreateContentType
- CustomizeCss
- DeleteContentType
- GetActivatedFeatures
- GetAllSubWebCollection
- GetColumns
- GetContentType
- GetContentTypes
- GetCustomizedPageStatus
- GetListTemplates
- GetWeb
- GetWebCollection
- RemoveContentTypeXmlDocument
- RevertAllFileContentStreams
- RevertCss
- RevertFileContentStream
- UpdateColumns
- UpdateContentType
- UpdateContentTypeXmlDocument
- WebUrlFromPageUrl