WS-Addressing ist die Spezifikation eines Mechanismus, der es Webservices erlaubt, transportneutral Adressinformationen auszutauschen. Die Spezifikation definiert XML-Elemente zur Identifizierung von Webdienst-Endpunkten.[1]
Sie besteht im Wesentlichen aus zwei Teilen: Einer Datenstruktur für die Übergabe einer Referenz zu einem Webservice-Endpoint und einer Menge von Adresseigenschaften von Nachrichten, die Adressinformationen mit einer bestimmten Nachricht verknüpfen. Diese Konstrukte werden typischerweise von Transportprotokollen oder Messagingsystemen bereitgestellt. WS-Addressing ist Teil der sogenannten WS-*-Spezifikationen, die als modulare Erweiterung zu SOAP entwickelt wurden. Die Definition der Elemente erfolgt nach dem XML Information Set.[1]
WS-Addressing erleichtert die Verwendung asynchroner Webserviceaufrufe, indem jede SOAP-Nachricht in ihrem Header zusätzliche Metainformationen über den Absender und den Empfänger der Antwort sowie den Empfänger von Fehlermeldungen enthält. Dadurch wird es möglich, selbst dann noch auf eine SOAP-Message zu antworten, wenn die eigentliche Nachricht des verwendeten Transportprotokolls schon lange nicht mehr existiert. Zusätzlich werden eine „unique ID“ und eventuell Referenzen auf vorangegangene Nachrichten mittransportiert, um einen Konversationskontext zu schaffen. Die jeweiligen „Endpoint references“ bestehen immer aus einem XML-Element
<wsa:Address>http://www.anyURI.com/any/path/</wsa:Address>
Diese werden in entsprechende Elemente <wsa:ReplyTo>
u. ä. eingefügt und beschreiben dabei die Adresse, unter der der entsprechende Service zu finden ist (im Falle von <wsa:ReplyTo>
der Empfänger, der mit der Antwort aufgerufen werden soll).