Activation de la prise en charge de Web Services Addressing pour les applications JAX-WS à l'aide de WS-Policy
Pour les applications JAX-WS, vous pouvez activer la prise en charge de WS-Addressing lors du développement d'une application de service ou client en ajoutant des assertions WS-Policy au document WSDL.
Pourquoi et quand exécuter cette tâche
La spécification JAX-WS 2.2 introduit une fonctionnalité qui permet aux assertions WS-Policy du document WSDL de l'application d'être associées avec les annotations Java™ du code.
Il existe plusieurs moyens d'activer la prise en charge WS-Addressing pour les applications JAX-WS. La méthode d'utilisation de WS-Policy sera en vigueur à moins qu'elle ne soit écrasée par une autre méthode prioritaire, par exemple si vous utilisez les classes AddressingFeature ou les annotations Addressing. Voir la rubrique parente Activation de la prise en charge de Web Services Addressing pour les applications JAX-WS à l'aide de WS-Policy pour plus de détails sur l'ordre de priorité qu'utilise WebSphere Application Server.
Si vous ajoutez une annotation Addressing à votre code de fournisseur et utilisez l'outil de ligne de commande wsgen pour générer le document WSDL, il contiendra des assertions WS-Policy indiquant la prise en charge WS-Addressing. Toutefois, si vous regardez le document WSDL publié pour le service du fournisseur, il est possible que la règle définie dans les ensembles de règle soit affichée, puisque ceci écraserait toutes les annotations définies dans le code.
Si vous utilisez un document WSDL existant pour créer du code Java, lorsque WebSphere Application Server lit le WSDL, si les assertions WS-Policy spécifiant la prise en charge WS-Addressing sont présentes, le code Java généré contiendra les annotations Addressing.
Procédure
Résultats
Si vous ajoutez des annotations WS-Addressing au code de l'application spécifiant que WS-Addressing est activé, lorsque vous générez le WSDL il contient les assertions WS-Policy.
Lorsque les assertions WS-Policy spécifiant la prise en charge WS-Addressing sont incluses au WSDL, les en-têtes WS-Addressing sont inclus aux messages SOAP générés.
Si vous spécifiez que WS-Addressing est requis et qu'un message SOAP entrant est reçu, sans inclure d'en-tête WS-Addressing, une exception survient.