Für JAX-WS-Anwendungen können Sie die WS-Addressing-Unterstützung während der Paketierung
einer Service- oder Clientanwendung aktivieren, indem Sie den Implementierungsdeskriptor für die betreffende Anwendung bearbeiten.
Informationen zu diesem Vorgang
Um das Verhalten von
WS-Addressing durch Verwendung von Implementierungsdeskriptoren zu ändern, nehmen Sie
in die Implementierungsdeskriptordatei für die Anwendung
das Element <addressing> auf.
Das Element <addressing> verfügt über die in der folgenden Tabelle erläuterten optionalen Unterelemente.
Das Element
<addressing> funktioniert auf dieselbe Art und Weise wie
die Addressing-Annotation. Die Unterelemente der Annotation
<addressing> funktionieren genauso wie die Parameter
der Addressing-Annotation.
Tabelle 1. Unterelemente des Implementierungsdeskriptorelements für addressing. In der Tabelle sind die verschiedenen Parameter mit ihren gültigen Werten und der jeweiligen Beschreibung aufgeführt. Elementname |
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 |
All (Standardwert)
ANONYMOUS
NON_ANONYMOUS
|
Gibt an, ob ein synchrones oder ein asynchrones
Nachrichtenaustauschmuster verwendet werden soll. Geben Sie ANONYMOUS
an, um Nachrichten in einem
synchronen
Nachrichtenaustauschmuster zu senden. Verwenden Sie
NON_ANONYMOUS, um Nachrichten in einem asynchronen Nachrichtenaustauschmuster zu senden. |
Vorgehensweise
- Wenn Sie das Verhalten der WS-Addressing-Unterstützung in der Serviceanwendung ändern möchten,
fügen Sie das Element <addressing> und die gewünschten optionalen Unterelemente
im Element <webservice-description> des Serviceimplementierungsdeskriptors
unter dem Element
<port-component> hinzu. Im folgenden Beispiel legt das
Addressing-Fragment für den Implementierungsdeskriptor fest, dass
WS-Addressing angegeben und erforderlich ist und dass das asynchrone Nachrichtenaustauschmuster verwendet wird.
<port-component>
<port-component-name>MyPort1</port-component-name>
<addressing>
<enabled>true</enabled>
<required>true</required>
<responses>NON_ANONYMOUS</responses>
</addressing>
<service-impl-bean>
<servlet-link>MyPort1ImplBean</servlet-link>
</service-impl-bean>
</port-component>
- Wenn Sie das Verhalten der WS-Addressing-Unterstützung in der Clientanwendung ändern möchten,
fügen Sie das Element
<addressing> und die gewünschten optionalen Unterelemente
im Element <service-ref>
des Clientimplementierungsdeskriptors
unter dem Element
<port-component-ref> hinzu. Das folgende Implementierungsdeskriptorfragment legt z. B. fest,
dass WS-Addressing aktiviert ist:
<service-ref>
<service-ref-name>service/MyPortComponentRef</service-ref-name>
<service-interface>com.example.MyService</service-ref-interface>
<port-component-ref>
<service-endpoint-interface>com.example.MyPortType</service-endpoint-interface>
<addressing>
<enabled>true</enabled>
</addressing>
</port-component-ref>
</service-ref>
Ergebnisse
Es werden jetzt WS-Addressing-Eigenschaften in den SOAP-Nachrichtenheader eingeschlossen
und vom Server beim Empfang der Nachricht verarbeitet.