WS-Addressing-Unterstützung für JAX-WS-Anwendungen aktivieren

Die WS-Addressing-Unterstützung (Web Services Addressing) stellt Mechanismen für die Adressierung von Web-Services und die Bereitstellung von Adressierungsinformationen in Nachrichten bereit. Für JAX-WS-Anwendungen können Sie die WS-Addressing-Unterstützung auf verschiedene Arten aktivieren, z. B. durch Konfiguration von Richtliniensätzen oder Verwendung von Annotationen in Code.

Informationen zu diesem Vorgang

Führen Sie diese Task aus, um die WS-Addressing-Unterstützung als Service-Provider oder als Client eines Service, der von einer anderen Partei bereitgestellt wird, zu aktivieren.

Für Service-Provider wird die WS-Addressing-Unterstützung standardmäßig aktiviert, d. h., Sie müssen keine Aktionen ausführen, um die Unterstützung zu aktivieren. Sie können die Aktivierungsmechanismen jedoch verwenden, um andere WS-Addressing-Verhalten für den Service zu ändern. So können Sie z. B. angeben, ob WS-Addressing-Informationen erforderlich sind und welche Inhalte in das generierte WSDL-Dokument eingeschlossen werden sollen.
  • Sie können das Verhalten der WS-Addressing-Unterstützung nach der Implementierung der Anwendung ändern, indem Sie der Anwendung einen Richtliniensatz zuordnen. In diesem Richtliniensatz können Sie den Typ der WS-Addressing-Richtlinie konfigurieren, um festzulegen, ob WS-Addressing-Informationen in eingehenden Nachrichten erforderlich sind und ob synchrones oder asynchrones Messaging verwendet werden soll. Sie können die WS-Addressing-Richtlinienkonfiguration anderen Servern und Clients mitteilen, die WS-Policy unterstützen, indem Sie die gemeinsame Nutzung von Richtlinien im Server aktivieren und die Providerrichtlinie im Client anwenden. Diese Methode setzt andere Methoden außer Kraft.
  • Verwenden Sie Implementierungsdeskriptorelemente in einem Element port-component.
  • Sie können das Verhalten der WS-Addressing-Unterstützung während der Entwicklung des Service ändern, indem Sie die Annotation Addressing oder SubmissionAddressing im Service-Code verwenden. In jeder Annotation können Sie angeben, ob WS-Addressing auf dem Server aktiviert ist, ob der Server WS-Addressing-Informationen in eingehenden Nachrichten erfordert. Ferner können Sie das Nachrichtenaustauschmuster angeben, das der Server verwenden soll. Wenn die Annotation Addressing im Code vorhanden ist, wird auch jedem WSDL-Dokument, das für den Service generiert wird, ein Element UsingAddressing und eine WS-Policy-Zusicherung hinzugefügt.
  • Sie können das Verhalten der WS-Addressing-Unterstützung während der Entwicklung des Service ändern, indem Sie UsingAddressing-Elemente oder WS-Policy-Zusicherungen zum WSDL-Dokument hinzufügen. Wenn Sie ein eigenes WSDL-Dokument bereitstellen, anstatt sich darauf zu verlassen, dass die JAX-WS-Laufzeitumgebung ein solches Dokument generiert, und Ihr WSDL-Dokument von Clients, die keine JAX-WS-2.2-Clients sind, konsumiert wird, müssen Sie das Element UsingAddressing einfügen, weil diese Clients keine WS-Policy-Zusicherungen verarbeiten.
Für Service-Clients wird die WS-Addressing-Unterstützung standardmäßig inaktiviert. Verwenden Sie eine der folgenden Methoden, um die WS-Addressing-Unterstützung zu aktivieren. Die folgende Liste ist in absteigender Reihenfolge der Vorrangstellung sortiert, weil Sie mehrere Methoden anwenden können. Die Methode mit dem Implementierungsdeskriptor überschreibt beispielsweise die Verwendung von Annotationen oder Features, wird aber selbst durch die Verwendung von Richtliniensätzen überschrieben.
  • Ordnen Sie dem Clientartefakt einen Richtliniensatz zu, und führen Sie eine der folgenden Aktionen aus:
    • Geben Sie in der Richtlinie an, dass WS-Addressing verbindlich ist.
    • Wenden Sie Client- und Providerrichtlinien an. In dieser Situation wird die WS-Addressing-Unterstützung nur dann im Client aktiviert, wenn die gemeinsame Nutzung von Richtlinien im Service-Provider aktiviert und wenn in der Richtlinienkonfiguration des Providers angegeben ist, dass WS-Addressing verbindlich ist.
    Diese Methode setzt andere Methoden außer Kraft.
  • Setzen Sie die Eigenschaft com.ibm.websphere.webservices.use.async.mep im Clientanforderungskontext.
  • Verwenden Sie die IBM proprietäre WS-Addressing-SPI, um dem Nachrichtenanforderungskontext Eigenschaften für die Nachrichtenadressierung hinzuzufügen.
  • Verwenden Sie Implementierungsdeskriptorelemente in einem Element port-component-ref.
  • Verwenden Sie die Annotation "Addressing" in Kombination mit der Annotation "WebServiceRef" im Clientcode (bei der Verwendung einer injizierten Web-Service-Proxy-Referenz).
  • Verwenden Sie die Adressierungsfeatures im Clientcode. Eigenschaften, die mit dieser Methode definiert werden, überschreiben die Einstellungen, die im WSDL-Dokument für den Service definiert sind.
  • Verwenden WS-Policy-Zusicherungen im WSDL-Dokument, um die Unterstützung für WS-Addressing anzugeben. Wenn Sie Addressing-Annotationen zu Ihrem Clientanwendungscode hinzufügen möchten, enthält das generierte WSDL-Dokument WS-Policy-Zusicherungen.
  • Geben Sie das Element UsingAddressing im WSDL-Dokument für den Service an. Wenn der Service die Annotation Addressing verwendet und Sie das WSDL-Dokument aus dem Code generieren, ist das Element UsingAddressing bereits vorhanden.

In der folgenden Tabelle ist das Verhalten der WS-Addressing-Unterstützung zusammengefasst. Verwenden Sie die folgende Tabelle, um zu bestimmen, ob eine Anforderungsnachricht für Clienteinstellungen akzeptiert wird, die keine Richtlinienkonfiguration enthalten.

Dies ist eine komplexe Tabelle, die übergreifende Spaltenüberschriften enthält. Die Spaltenüberschrift "Clienteinstellungen" gibt an, ob die WS-Addressing-Unterstützung im Client aktiviert ist und welcher Messaging-Stil konfiguriert ist. Die zweite Hauptspalte zeigt die Richtlinieneinstellungen für den Provider mit zwei untergeordneten Spalten, in denen angegeben wird, ob WS-Addressing optional oder verbindlich ist. Beide untergeordnete Spalten werden in drei untergeordnete Klassen für den Messaging-Stil unterteilt (synchron und/oder asynchron). Die dritte Hauptspalte zeigt die WSDL-Einstellungen für den Provider mit zwei untergeordneten Spalten, in denen angegeben wird, ob WS-Addressing optional oder verbindlich ist.
Tabelle 1. Interaktion von Client- und Providereinstellungen für die Bestimmung, ob eine Anforderungsnachricht akzeptiert wird. Diese Tabelle ist im vorherigen Abschnitt beschrieben.
Clienteinstellungen Providerrichtlinieneinstellungen Provider-WSDL-Einstellungen (UsingAddressing-Attribut required)
WS-Addressing ist optional WS-Addressing ist verbindlich1
Synchron und asynchron Nur synchron Nur asynchron Synchron und asynchron Nur synchron Nur asynchron false (WS-Addressing ist optional) true (WS-Addressing ist verbindlich1)
WS-Addressing-Unterstützung aktiviert und Messaging-Stil synchron Nachricht akzeptiert Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert
WS-Addressing-Unterstützung aktiviert und Messaging-Stil asynchron Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert
WS-Addressing-Unterstützung nicht aktiviert und Messaging-Stil synchron Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert2 Fehler Fehler Fehler Nachricht akzeptiert Fehler
WS-Addressing-Unterstützung nicht aktiviert und Messaging-Stil asynchron3 Fehler Fehler Fehler Fehler Fehler Fehler Fehler Fehler
Anmerkungen:
  1. Wenn WS-Addressing verbindlich ist, werden alle Anforderungen ohne WS-Addressing-Header zurückgewiesen.
  2. Der Messaging-Stil wird nur umgesetzt, wenn WS-Addressing-Header in der Anforderung vorhanden sind.
  3. Asynchrones Messaging ist ohne WS-Addressing-Header nicht möglich.

Verwenden Sie die folgende Tabelle, um zu bestimmen, ob eine Anforderungsnachricht akzeptiert wird, wenn Client und Provider eine WS-Addressing-Richtlinienkonfiguration haben, im Client Provider- und Clientrichtlinien angewendet werden und die gemeinsame Nutzung von Richtlinien im Server aktiviert ist.

Dies ist eine komplexe Tabelle, die übergreifende Spaltenüberschriften enthält. Die Spaltenüberschrift "Clienteinstellungen" gibt an, ob die WS-Addressing-Unterstützung im Client optional oder verbindlich ist und welcher Messaging-Stil konfiguriert ist. Die zweite Hauptspalte zeigt die Richtlinieneinstellungen für den Provider mit zwei untergeordneten Spalten, in denen angegeben wird, ob WS-Addressing optional oder verbindlich ist. Beide untergeordnete Spalten werden in drei untergeordnete Klassen für den Messaging-Stil unterteilt (synchron und/oder asynchron, nur synchron, nur asynchron).
Tabelle 2. Interaktion von Client- und Providerrichtlinieneinstellungen hinsichtlich der Bestimmung, ob eine Anforderungsnachricht akzeptiert wird. Diese Tabelle ist im vorherigen Abschnitt beschrieben.
Clientrichtlinieneinstellungen Providerrichtlinieneinstellungen
WS-Addressing ist optional WS-Addressing ist verbindlich
Synchron und asynchron Nur synchron Nur asynchron Synchron und asynchron Nur synchron Nur asynchron
WS-Addressing optional und Messaging-Stil synchron und asynchron Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert
WS-Addressing optional und Messaging-Stil nur synchron Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert1 Nachricht akzeptiert Nachricht akzeptiert Fehler
WS-Addressing optional und Messaging-Stil nur asynchron2 Fehler Fehler Fehler Nachricht akzeptiert Fehler Nachricht akzeptiert
WS-Addressing verbindlich und Messaging-Stil synchron und asynchron Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert Nachricht akzeptiert
WS-Addressing verbindlich und Messaging-Stil nur synchron Nachricht akzeptiert Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert Fehler
WS-Addressing verbindlich und Messaging-Stil nur asynchron Nachricht akzeptiert Fehler Nachricht akzeptiert Nachricht akzeptiert Fehler Nachricht akzeptiert
Anmerkungen:
  1. Der Messaging-Stil wird nur umgesetzt, wenn WS-Addressing-Header in der Anforderung vorhanden sind.
  2. Asynchrones Messaging ist ohne WS-Addressing-Header nicht möglich.
Wenn die Provider- und Clientrichtlinien nicht gemeinsam genutzt werden, sendet der Client keine WS-Addressing-Header (sofern Sie WS-Addressing nicht über eine andere Methode im Client aktivieren). Wenn die Providerrichtlinie in diesem Fall angibt, dass WS-Addressing verbindlich ist, generiert der Server unabhängig vom Messaging-Stil einen Fehler.

Vorgehensweise

Ergebnisse

Es werden jetzt WS-Addressing-Eigenschaften in den SOAP-Nachrichtenheader eingeschlossen und vom Server beim Empfang der Nachricht verarbeitet.


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
Dateiname:twbs_wsa_dep_jaxws.html