Web-Services-Addressing-Unterstützung für JAX-WS-Anwendungen mit Addressing-Annotationen aktivieren

Für JAX-WS-Anwendungen können Sie die WS-Addressing-Unterstützung während der Entwicklung einer Serviceanwendung über Addressing-Annotationen im Code aktivieren. Sie können diese Methode auch in einer Clientanwendungen verwenden, die eine injizierte Web-Service-Proxy-Referenz verwendet.

Informationen zu diesem Vorgang

Verwenden Sie in Ihrem Servicecode eine der folgenden Addressing-Annotationen:
  • Addressing - Verwenden Sie diese Annotation, wenn Sie die WS-Addressing-Spezifikation vom August 2005 verwenden möchten.
  • SubmissionAddressing - Verwenden Sie diese Annotation, wenn Sie die WS-Addressing-Spezifikation vom August 2004 verwenden möchten.
Verwenden Sie auf Clients nur die Addressing-Annotationen. Die Annotation SubmissionAddressing wird nicht unterstützt. Die Annotation Addressing muss zusammen mit der Annotation WebServiceRef angegeben werden. Die Annotation WebServiceRef legt eine Referenz auf den vom Client-Container injizierten Web-Service-Proxy fest.

Annotationseinstellungen überschreiben Einstellungen im WSDL-Dokument. Annotationseinstellungen können von den WSDL-Einstellungen abweichen, wenn Sie das WSDL-Dokument manuell erstellen und nicht über den Code generieren.

Geben Sie für jede Annotation bis zu drei optionale Parameter an:
Tabelle 1. Parameter für die Addressing-Annotationen. In der Tabelle sind die verschiedenen Parameter mit ihren gültigen Werten und der jeweiligen Beschreibung aufgeführt.
Parametername Gültige Werte Beschreibung
enabled

true (Standardwert)
false

Gibt an, ob die WS-Addressing-Unterstützung aktiviert ist.
required

true
false (Standardwert)

Gibt an, ob WS-Addressing-Header erforderlich sind.
responses

Responses.All (Standardeinstellung)
Responses.ANONYMOUS
Responses.NON_ANONYMOUS

Gibt an, ob ein synchrones oder ein asynchrones Nachrichtenaustauschmuster verwendet werden soll. Geben Sie Responses.ANONYMOUS an, um Nachrichten in einem synchronen Nachrichtenaustauschmuster zu senden. Verwenden Sie Responses.NON_ANONYMOUS, um Nachrichten in einem asynchronen Nachrichtenaustauschmuster zu senden.
Anmerkung: Dieser Parameter wird von der Annotation SubmissionAddressing nicht unterstützt.
Anmerkung: Sie können die Annotation Addressing nur für eine Bindung des Typs "SOAP (1.1 oder 1.2) over HTTP" verwenden. Wenn Sie die Klasse mit einer anderen Bindung verwenden, z. B. XML over HTTP, wird auf den Clients eine Ausnahme ausgelöst, und der Web-Service wird auf den Servern nicht implementiert.

Vorgehensweise

Ergebnisse

Wenn Sie eine Addressing-Annotation in der Serviceanwendung verwenden, verarbeitet der Server alle WS-Addressing-Header, die mit dieser maßgeblichen Spezifikation in eingehenden SOAP-Nachrichten übereinstimmen. Wenn Sie angeben, dass WS-Addressing erforderlich ist, und eine eingehende SOAP-Nachricht keine WS-Addressing-Header oder WS-Addressing-Header enthält, die der mit der Annotation angegebenen Spezifikation nicht entsprechen, gibt der Server eine Fehlernachricht zurück. Wenn der Client beispielsweise eine Nachricht sendet, die WS-Addressing-Header gemäß der Spezifikation vom August 2004 enthält, der Server aber Header gemäß der Spezifikation vom August 2005 erfordert, gibt der Server eine Fehlernachricht zurück.

Wenn Sie die Annotation "Addressing" verwenden und ein WSDL-Dokument über den Code generieren, werden im WSDL-Dokument ein Element UsingAddressing und WS-Policy-Zusicherungen erstellt. Clients, die dieses WSDL-Dokument verwenden, schließen WS-Addressing-Informationen in ihre Nachrichten ein. Die Annotation SubmissionAddressing wird von den aktuellen WSDL-Generierungstools nicht erkannt. Das WSDL-Dokument unterscheidet jedoch nicht zwischen der Spezifikation vom August 2005 und der Spezifikation vom August 2004. Wenn Sie also ein WSDL-Dokument über Code generieren, der eine Annotation SubmissionAddressing enthält, können Sie hierfür die Annotationen Addressing und SubmissionAddressing zusammen verwenden.

Wenn Sie das Antwortattribut angeben, wird das entsprechende Nachrichtenaustauschmuster verwendet.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_wsa_dep_jaxws_annot
Dateiname:twbs_wsa_dep_jaxws_annot.html