XML Web Service Description
The XML Web services infrastructure is founded on communication by means of XML-based messages that comply with a published service description. The service description is an XML document written in an XML grammar called WSDL (Web Services Description Language) that defines the format of messages the XML Web service understands. The service description serves as an agreement that defines the behavior of an XML Web service and instructs potential clients in how to interact with it. The behavior of an XML Web service is determined by messaging patterns that the service defines and supports. These patterns conceptually dictate what the service consumer can expect to happen when a properly formatted message is submitted to the XML Web service.
For example, the request/response pattern associated with a remote procedure call (RPC)-style service would define which SOAP message schema to use for invoking a particular method. This pattern would also define the format that the ensuing response SOAP message should follow.
Another example of a messaging pattern represents unidirectional interactions. This pattern is employed when a one-way communication is to take place. In this situation, the sender will not receive any messages from the XML Web service, including fault messages. A caveat to this is when the one-way communication is established using a protocol that is traditionally request/response, where a fault message might be returned.
The schemas that define the SOAP message formats can be defined internally to the actual service description, or they can be defined externally and imported into the service description.
In addition to message format definitions and messaging patterns, the service description optionally contains the address that is associated with each XML Web service entry point. The format of this address is appropriate to the protocol used to access the service, such as a URL for HTTP or an e-mail address for SMTP.
For the WSDL specification, see the W3C Web site (http://www.w3.org/TR/wsdl).