Today we are going to talk about the Web services in
SharePoint. We all know SharePoint provide very extensive support for the web
services, writing custom web services, we will try to compile some information
on this.
What is a web Service?
The W3C defines a "Web
service" as "a software system designed to support interoperable
machine-to-machine interaction over a network".
It has an interface described in a machine-processable format (specifically Web
Services Description Language, known by the acronym WSDL). Other systems interact
with the Web service in a manner prescribed by its description using SOAP messages,
typically conveyed using HTTP with an XML serialization
in conjunction with other Web-related standards.
What is SOAP?
SOAP, originally defined as Simple Object Access Protocol,
is a protocol specification for exchanging
structured information in the implementation of Web
Services in computer networks. It relies on Extensible Markup Language
(XML) for its message format, and usually relies on other Application
Layer protocols, most notably Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP),
for message negotiation and transmission.
Web services protocol
stack?
A web service
protocol stack is a protocol stack (a stack of computer networking protocols) that is used to define, locate,
implement, and make Web services interact with each other. A Web service
protocol stack typically stacks four protocols:
- (Service) Transport Protocol: responsible for transporting messages between network applications and includes protocols such as HTTP, SMTP, FTP, as well as the more recent Blocks Extensible Exchange Protocol (BEEP).
- (XML) Messaging Protocol: responsible for encoding messages in a common XML format so that they can be understood at either end of a network connection. Currently, this area includes such protocols as XML-RPC, WS-Addressing, and SOAP.
- (Service) Description Protocol: used for describing the public interface to a specific Web service. The WSDL interface format is typically used for this purpose.
- (Service) Discovery Protocol: centralizes services into a common registry such that network Web services can publish their location and description, and makes it easy to discover what services are available on the network.
Web Services in
SharePoint?
The web service .asmx files are located at
"C:\Program Files\Common Files\Microsoft Shared\web server
extensions\12\ISAPI"
Every SharePoint Site has a virtual directory known as
"_vti_bin" which maps to the above directory. Don't believe
me? Open up your IIS management console, go to one of your web apps, and
look where "_vti_bin" maps to in the file system.
Here is a list of the web services:
Name
|
URL
|
http://<AdminSite>/_vti_adm/Admin.asmx
|
|
http://<Site>/_vti_bin/Alerts.asmx
|
|
http://<Site>/_vti_bin/Authentication.asmx
|
|
http://<Site>/_vti_bin/Copy.asmx
|
|
http://<Site>/_vti_bin/Dws.asmx
|
|
http://<Site>/_vti_bin/Forms.asmx
|
|
http://<Site>/_vti_bin/Imaging.asmx
|
|
http://<Site>/_vti_bin/DspSts.asmx
|
|
http://<Site>/_vti_bin/Lists.asmx
|
|
http://<Site>/_vti_bin/Meetings.asmx
|
|
http://<Site>/_vti_bin/People.asmx
|
|
http://<Site>/_vti_bin/Permissions.asmx
|
|
(in stssoap.dll)
|
|
http://<Site>/_vti_bin/SiteData.asmx
|
|
http://<Site>/_vti_bin/Sites.asmx
|
|
http://<Site>/_vti_bin/spsearch.asmx
|
|
http://<Site>/_vti_bin/usergroup.asmx
|
|
http://<Site>/_vti_bin/Versions.asmx
|
|
http://<Site>/_vti_bin/Views.asmx
|
|
http://<Site>/_vti_bin/WebPartPages.asmx
|
|
http://<Site>/_vti_bin/Webs.asmx
|
SharePoint has a rich list of Web Services it support so it is always good to keep handy the SharePoint Web Services Link provided by Microsoft, http://msdn.microsoft.com/en-us/library/ms445292.aspx
A nice reference to
the well explained Architecture of Web services by Trent Swanson: http://www.infoq.com/articles/swanson-moss-web-services.
You nice video on
calling web services using silver light
application: http://www.youtube.com/watch?v=_-Z30-1sdXY
If you have any queries/questions regarding the above mentioned information then please let me know. Thank you.