Web Services Addressing (WS-Addressing) is a specification of transport-neutral mechanism that allows 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.[1] 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.[2] 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.[3] 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.[4]
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.[5]
Message addressing properties
Message addressing properties communicate addressing information relating to the delivery of a message to a Web service:
Relationship to previous messages (A pair of URIs)
History
WS-Addressing was originally authored by Microsoft, IBM, BEA, Sun Microsystems, and SAP and submitted to W3C for standardization in August 2004.[6][7] It was preceded by a similar competing specification, WS-MessageDelivery, developed by Sun Microsystems, Oracle Corporation and IONA Technologies, inter alia.[8][9] The W3C WS-Addressing Working Group refined and augmented the specification in the process of standardization, and it was published as a W3C Recommendation in May 2006.[9]
WS-Addressing 1.0 is specified in three parts:
The Core specification of Endpoint References and Message Addressing Properties.
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.
The three parts were submitted by W3C to ISO/IEC JTC 1 as Publicly Available Specifications in January 2011, and were approved as standards in September.[10]
↑Vinoski, Steve (30 June 2005). "WS-Addressing Metadata". IEEE Internet Computing (IEEE) 9 (3). doi:10.1109/MIC.2005.69.
↑Hayward, J.; Phippen, A. (October 3, 2008). "Using WS-Addressing To Perform Asynchronous Web Service Calls". Advances in Networks, Computing and Communications. 3. University of Plymouth. ISBN978-1841021799.
↑Atkinson, M.; DeRoure, D.; Dunlop, A.; Fox, G.; Henderson, P.; Hey, T.; Paton, N.; Newhouse, S. et al. (7 February 2005). "Web Service Grids: an evolutionary approach". Concurrency and Computation: Practice and Experience (Wiley) 17 (2–4). doi:10.1002/cpe.936.