Pour les applications JAX-WS, vous pouvez activer la prise en charge
de WS-Addressing lors du conditionnement d'un service ou d'une application
client, en éditant le descripteur de déploiement de cette application.
Pourquoi et quand exécuter cette tâche
Pour modifier le comportement de WS-Addressing à l'aide de
descripteurs de déploiement, ajoutez un élément <addressing>
au fichier de descripteur de déploiement de l'application. L'élément
<addressing> possède des éléments enfants facultatifs,
comme décrit dans le tableau ci-après.
L'élément
<addressing> fonctionne de la même manière que
l'annotation Addressing. Les éléments enfants de l'annotation
<addressing> fonctionnent de la même manière
que les paramètres de l'annotation Addressing.
Tableau 1. Eléments enfants de l'élément de descripteur de déploiement addressing. Le tableau répertorie les différents éléments enfants avec leurs valeurs possibles
et une description de chacun d'entre eux.Nom de l'élément |
Valeurs possibles |
Description |
enabled |
true (valeur par défaut)
false
|
Indique si la prise en charge de WS-Addressing est activée. |
required |
true
false (valeur par défaut)
|
Indique si les en-têtes WS-Addressing sont requis. |
responses |
All (valeur par défaut)
ANONYMOUS
NON_ANONYMOUS
|
Indique si un modèle d'échange de messages synchrone ou
asynchrone doit être utilisé. Spécifiez ANONYMOUS
pour envoyer les messages dans un modèle d'échange de messages synchrone ;
utilisez NON_ANONYMOUS pour envoyer les messages
dans un modèle d'échange de messages asynchrone. |
Procédure
- Pour modifier le comportement de la prise en charge de WS-Addressing
dans l'application de service, ajoutez l'élément
<addressing> et les éléments enfants facultatifs requis,
au descripteur de déploiement de service, sous l'élément
<port-component> de l'élément <webservice-description>. Dans l'exemple suivant, le fragment de descripteur de déploiement
Addressing indique que WS-Addressing est activé et requis et que le modèle
d'échange de messages asynchrone est utilisé.
<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>
- Pour modifier le comportement de la prise en charge de WS-Addressing dans
l'application client, ajoutez l'élément <addressing>
et les éléments enfants facultatifs requis, au descripteur de déploiement du
client, sous l'élément <port-component-ref> de l'élément
<service-ref>. Par exemple, le fragment de descripteur de déploiement suivant indique que WS-Addressing est activé :
<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>
Résultats
Les propriétés WS-Addressing sont maintenant incluses à l'en-tête du message
SOAP et elles sont traitées par le serveur à la réception du message.