WS-Addressing
From Wikipedia, the free encyclopedia
WS-Addressing or Web Services Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information. It essentially consists of two parts: a structure for communicating a reference to a Web service endpoint, and a set of Message Addressing Properties which associate addressing information with a particular message.
Contents |
[edit] Explanation WS-Addressing
SOAP messages sent through the HTTP/HTTPS transport-protocol rely on HTTP/TCP-IP to get messages to the right machine, but uses out-of-message information, (i.e., SoapAction HTTP headers), to figure out what to do with the message once it hits the destination machine. The out-of-message information is specific to HTTP. Therefore, to get rid of HTTP another place to put that out-of-message information must be found.
WS-Addressing is a standardized way of including the HTTP-specific data in the XML message itself. Instead of relying on the network-level transport to convey dispatch information, the message can now carry along its own dispatch metadata in a standardized SOAP header. The network-level transport is now only responsible for delivering that message to a dispatcher capable of reading that metadata. Once that message hits the dispatcher, the job of the network-level transport is done.
WS-Addressing supports the use of asynchronous (from the point of view of the HTTP protocol) interactions by specifying a common SOAP header (wsa:ReplyTo) that contains the endpoint reference (EPR) to which the response is to be sent. The service provider (the thing doing the responding) transmits the response message over a separate connection to the wsa:ReplyTo endpoint. This decouples the lifetime of the SOAP request/response interaction from the lifetime of the HTTP request/response protocol, thus enabling long-running interactions that can span arbitrary periods of time. A special URL, "http://www.w3.org/2005/08/addressing/anonymous", is used to indicate that the service provider should use the "protocol specific back-channel" (in the case of SOAP/HTTP, the HTTP response message) to transmit the response.
[edit] Endpoint References
An Endpoint Reference (EPR) is an XML structure encapsulating information useful for addressing a message to a Web service. This includes the destination address of the message, any additional parameters (called reference parameters) necessary to route the message to the destination, and optional metadata (such as WSDL or WS-Policy) about the service.
[edit] Message Addressing Properties
Message Addressing Properties communicate addressing information relating to the delivery of a message to a Web service:
- Message destination URI
- Source endpoint -- the endpoint of the service that dispatched this message (EPR)
- Reply endpoint -- the endpoint to which reply messages should be dispatched (EPR)
- Fault endpoint -- the endpoint to which fault messages should be dispatched (EPR)
- Action -- an action value indicating the semantics of the message (may assist with routing the message) URI
- Unique message ID URI
- Relationship to previous messages (A pair of URIs)
[edit] History
WS-Addressing was originally authored by Microsoft, IBM, BEA, Sun, and SAP and submitted to W3C for standardization. The W3C WS-Addressing Working Group has refined and augmented the specification in the process of standardization.
WS-Addressing is currently specified in three parts:
- The Core specification of Endpoint References and Message Addressing Properties.
- A binding of these properties to SOAP.
- The Metadata specification defines how the abstract properties defined in Core are described using WSDL, how to include WSDL metadata in endpoint references, and how WS-Policy can be used to indicate the support of WS-Addressing by a Web service.
Web Services Policy Attachment for Endpoint Reference (WS-PAEPR) specifies the mechanism and meaning of including WS-Policy expressions in Endpoint References. WS-PAEPR is a W3C Member Submission.

