Übersicht über Web Services Addressing
Web Services Addressing (WS-Addressing) ist eine W3C-Spezifikation, die die Interoperabilität zwischen Web-Services unterstützt und einen Standard für die Adressierung von Web-Services und für die Bereitstellung von Adressierungsinformationen in Nachrichten definiert. Die Spezifikation WS-Addressing führt zwei wichtige Konzepte ein: Endpunktreferenzen und Eigenschaften für die Nachrichtenadressierung (MAP, Message-Addressing Property). Weitere Einzelheiten finden Sie in den WS-Addressing-Spezifikationen.
Endpunktreferenzen
Endpunktreferenzen stellen
ein Standardverfahren dar, um Informationen zu bestimmten Endpunkten einzubinden.
Endpunktreferenzen können weitergegeben und anschließend dazu verwendet werden, den Web-Service-Endpunkt zu adressieren,
den sie darstellen.
In der folgenden Tabelle ist das Informationsmodell für Endpunktreferenzen zusammengefasst.
Das folgende Präfix und der zugehörige Namespace werden in der Tabelle oben verwendet.
Abstrakter Eigenschaftsname in der Notationskonvention des W3C-XML-Informationssets | Eigenschaftstyp | Multiplizität | Beschreibung |
---|---|---|---|
[address] | xs:anyURI | 1..1 | Der absolute URI, der die Adresse des Endpunkts angibt. |
[reference parameters]* | xs:any | 0..unbounded | Durch Namespace qualifizierte Elementinformationen, die für die Interaktion mit dem Endpunkt erforderlich sind. |
[metadata] | xs:any | 0..unbounded | Beschreibung des Verhaltens, der Richtlinien und der Funktionalität des Endpunkts. |
Präfix | Namespace |
---|---|
xs | http://www.w3.org/2001/XMLSchema |
Das folgende XML-Fragment stellt eine Endpunktreferenz dar.
Dieses Element referenziert den Endpunkt
am URI http://example.com/fabrikam/acct, es verfügt über Metadaten,
die die Schnittstelle angeben, auf die die Endpunktreferenz verweist, und
es enthält von der Anwendung definierte Referenzparameter des Namespace
"http://example.com/fabrikam".
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:fabrikam="http://example.com/fabrikam"
xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance"
wsdli:wsdlLocation="http://example.com/fabrikam
http://example.com/fabrikam/fabrikam.wsdl">
<wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
<wsa:Metadata>
<wsam:InterfaceName>fabrikam:Inventory</wsam:InterfaceName>
</wsa:Metadata>
<wsa:ReferenceParameters>
<fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
</wsa:ReferenceParameters>
</wsa:EndpointReference>
Nachrichtenadressierungseigenschaften
Nachrichtenadressierungseigenschaften
sind eine Gruppe von klar strukturierten
WS-Addressing-Eigenschaften, die als Elemente in SOAP-Headern dargestellt werden können.
Sie stellen einen Standard bereit, um Informationen zu übermitteln, z. B. den Endpunkt, an den
Antworten auf die Nachricht weitergeleitet werden sollen, oder Informationen zu der Abhängigkeit der
Nachricht von anderen Nachrichten.
Die Nachrichtenadressierungseigenschaften, die von der
Spezifikation "WS-Addressing" definiert werden, sind in der folgenden Tabelle zusammengefasst.
Die abstrakten Namen in den Tabellen oben werden
verwendet, um in dieser Dokumentation
die Nachrichtenadressierungseigenschaften (MAPs) anzugeben.
Abstrakter WS-Addressing-MAP-Name in der Notationskonvention des W3C-XML-Informationssets | MAP-Inhaltstyp | Multiplizität | Beschreibung |
---|---|---|---|
[action] | xs:anyURI | 1..1 | Ein absoluter URI, der die Semantik der Nachricht eindeutig angibt. Dies entspricht der Eigenschaft "address" der Endpunktreferenz, an die die Nachricht adressiert ist. Dieser Wert ist erforderlich. |
[destination] | xs:anyURI | 1..1 | Der absolute URI, der die Adresse des geplanten Empfängers dieser Nachricht angibt. Der Wert ist optional. Wird er nicht angegeben, wird standardmäßig der in der Spezifikation definierte anonyme URI verwendet, der angibt, dass die Adresse durch das zu Grunde liegende Protokoll definiert wird. |
[reference parameters]* | xs:any | 0..unbounded | Dies entspricht der Eigenschaft "reference parameters" der Endpunktreferenz, an die die Nachricht adressiert ist. Dieser Wert ist optional. |
[source endpoint] | EndpointReference | 0..1 | Eine Referenz auf den Endpunkt, der die Nachricht ausgegeben hat. Dieser Wert ist optional. |
[reply endpoint] | EndpointReference | 0..1 | Eine Endpunktreferenz für den geplanten Empfänger der Antworten auf diese Nachricht. Dieser Wert ist optional. |
[fault endpoint] | EndpointReference | 0..1 | Eine Endpunktreferenz für den geplanten Empfänger von Fehlern im Zusammenhang mit dieser Nachricht. Dieser Wert ist optional. |
[relationship]* | xs:anyURI plus optionales Attribut des Typs xs:anyURI | 0..unbounded | Ein Wertepaar, das angibt, in welcher Beziehung die Nachricht zu einer anderen Nachricht steht. Der Inhalt dieses Elements übermittelt die Nachrichten-ID der zugehörigen Nachricht. Ein optionales Attribut übermittelt den Abhängigkeitstyp. Dieser Wert ist optional. |
[message id] | xs:anyURI | Ein absoluter URI, der die Nachricht eindeutig angibt. Dieser Wert ist optional. |
Die folgende SOAP-Beispielnachricht enthält
WS-Addressing MAPs:
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:fabrikam="http://example.com/fabrikam">
<S:Header>
...
<wsa:To>http://example.com/fabrikam/acct</wsa:To>
<wsa:ReplyTo>
<wsa:Address> http://example.com/fabrikam/acct</wsa:address>
</wsa:ReplyTo>
<wsa:Action>...</wsa:Action>
<fabrikam:CustomerKey wsa:IsReferenceParameter='true'>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart wsa:IsReferenceParameter='true'>ABCDEFG</fabrikam:ShoppingCart>
...
</S:Header>
<S:Body>
...
</S:Body>
</S:Envelope>