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.
WS-Addressing is a standardized way of including message routing data within SOAP
headers. Instead of relying on network-level transport to convey routing information, a message utilizing WS-Addressing may contain its own dispatch metadata in a standardized SOAP header. The network-level transport is only responsible for delivering that message to a dispatcher capable of reading the WS-Addressing metadata. Once that message arrives at the dispatcher specified in the URI, the job of the network-level transport is done.
WS-Addressing supports the use of asynchronous 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 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.
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
) about the service.
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)
WS-Addressing was originally authored by Microsoft
, and SAP
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.