Activation de la prise en charge de Web Services Addressing pour les applications JAX-WS à l'aide d'annotations d'adressage
Pour les applications JAX-WS, vous pouvez activer la prise en charge de WS-Addressing lors du développement d'une application de service, en utilisant des annotations d'adressage dans le code. Vous pouvez également utiliser cette méthode dans une application client qui utilise une référence de proxy de service Web injectée.
Pourquoi et quand exécuter cette tâche
- Addressing : utilisez cette annotation si vous voulez utiliser la spécification WS-Addressing 2005/08.
- SubmissionAddressing : utilisez cette annotation si vous voulez utiliser la spécification WS-Addressing 2004/08.
Les paramètres d'annotation remplacent les paramètres du document WSDL. Les paramètres d'annotation peuvent différer des paramètres WSDL si vous créez le document WSDL manuellement plutôt que de le générer à partir du code.
Nom de paramètre | Valeurs possibles | Description |
---|---|---|
enabled | true (valeur par défaut) |
Indique si la prise en charge de WS-Addressing est activée. |
required | true |
Indique si les en-têtes WS-Addressing sont requis. |
responses | Responses.All (default) |
Indique si un modèle d'échange de messages synchrone ou
asynchrone doit être utilisé. Spécifiez Responses.ANONYMOUS
pour envoyer les messages dans un modèle d'échange de messages synchrone ; utilisez
Responses.NON_ANONYMOUS pour envoyer les messages dans un
modèle d'échange de messages asynchrone. Remarque : Ce paramètre n'est pas pris en
charge sur l'annotation SubmissionAddressing.
|
Procédure
Résultats
Si vous utilisez une annotation Addressing dans l'application de service, le serveur traite tout en-tête WS-Addressing conforme à la spécification pertinente dans les messages SOAP entrants. Si vous spécifiez que WS-Addressing est requis et qu'un message SOAP entrant n'inclut pas d'en-tête WS-Addressing ou inclut des en-têtes WS-Addressing non conformes à la spécification indiquée par l'annotation, le serveur renvoie un message d'erreur. Par exemple, si un client envoie un message qui inclut des en-têtes WS-Addressing 2004/08 et que le serveur requiert des en-têtes 2005/08, le serveur renvoie un message d'erreur.
Si vous utilisez l'annotation Addressing et générez un document WSDL à partir du code, un élément UsingAddressing et les assertions WS-Policy sont créés dans le document WSDL. Les clients qui utilisent ce document WSDL incluront des informations relatives à WS-Addressing dans leur message. L'annotation SubmissionAddressing n'est pas comprise par les outils de génération de documents WSDL actuels. Cependant, le document WSDL ne fait pas la distinction entre la spécification 2005/08 et la spécification 2004/08. Par conséquent, si vous voulez générer un document WSDL à partir d'un code contenant une annotation SubmissionAddressing, utilisez les annotations Addressing et SubmissionAddressing ensemble.
Si vous indiquez l'attribut de réponses, le masque d'échange de message correspondant est utilisé.