Annotations de l'adressage des services Web

La spécification d'adressage WS met à disposition des mécanismes neutres en termes de transport pour traiter les services Web et faciliter l'adressage de bout en bout. Si vous avez une application JAX-WS, vous pouvez utiliser des annotations Java dans le code pour définir le comportement WS-Addressing lors de l'exécution.

Vous pouvez utiliser des annotations WS-Addressing pour activer le support WS-Addressing, indiquer si les informations WS-Addressing sont nécessaires dans les messages entrants, contrôler le modèle d'échange de messages que prend en charge le service et définir les actions à associer à une opération de service Web ou une réponse par défaut.

Les annotations WS-Addressing suivantes sont prises en charge dans WebSphere Application Server. Ces annotations sont définies dans la spécification JAX-WS 2.2, sauf indication contraire. La spécification JAX-WS 2.2 remplace et inclut des fonctions de la spécification JAX-WS 2.1. Voir API Java API de la spécification des services Web XML 2.2 pour plus d'informations.
javax.xml.ws.Action
Indique l'action associée à l'opération de service Web.
  • Lorsque vous appliquez une méthode ascendante pour développer des services Web JAX-WS, vous pouvez générer un document WSDL depuis le code d'application Java en utilisant l'outil de ligne de commande wsgen. Toutefois, pour pouvoir ajouter cet attribut à l'opération WSDL, vous devez aussi définir l'annotation @Addressing dans la classe d'implémentation. Le résultat dans le document WSDL généré se caractérise par le fait que les annotations Action auront l'attribut wsam:Action dans les éléments message d'entrée et message de sortie wsdl:operation. De même, si vous ne voulez pas utiliser l'annotation @Addressing, vous pouvez fournir votre propre document WSDL avec l'attribut Action déjà défini.
  • A la suite du développement descendant de services Web JAX-WS, vous pouvez générer du code d'application Java depuis un document WSDL existant en utilisant l'outil de ligne de commande wsimport. Dans ce cas, le code Java résultant contient les annotations Action et FaultAction correctes.
Si cette action n'est définie dans aucun des annotations de code ou dans le document WSDL, le modèle d'action par défaut défini dans la spécification des métadonnées Web Services Addressing 1.0 est utilisé. Voir cette spécification pour plus d'informations.
Remarque : Bien que l'environnement d'exécution WebSphere Application Server prenne en charge l'attribut obsolète wsaw:Action, si vous essayez de générer du code Java depuis un ancien docume WSDL contenant l'attribut obsolète wsaw:Action, l'attribut est ignoré.
javax.xml.ws.FaultAction
Indique l'action ajoutée à la réponse à un incident. Lorsque vous utilisez cette annotation à l'aide d'une méthode particulière, l'attribut d'extension de l'action FaultAction de WS-Addressing est ajouté aux éléments d'incident de l'opération WSDL correspondant à cette méthode. Pour pouvoir ajouter cet attribut à l'opération WSDL, vous devez aussi définir l'annotation Addressing dans la classe d'implémentation. Si vous ne voulez pas utiliser l'annotation d'adressage, vous pouvez fournir votre propre document WSDL avec l'action d'attribut défini. Cette annotation doit être contenue dans une annotation d'action.
Les documents WSDL générés depuis le code d'application Java contenant l'annotation WS-Addressing FaultAction auront l'attribut wsam:Action dans l'élément fault message de wsdl:operation.
Remarque : Pour que les classes Exception personnalisées que vous écrivez soient mappées au document WSDL généré, étendez la classe java.lang.Exception au lieu de la classe java.lang.RuntimeException.
javax.xml.ws.soap.Addressing
Indique que ce service doit activer la prise en charge de WS-Addressing. Vous ne pouvez utiliser cette annotation que sur le bean d'implémentation ; vous ne pouvez pas l'utiliser sur l'interface du noeud final du service.
com.ibm.websphere.wsaddressing.jaxws21.SubmissionAddressing
Cette annotation fait partie de l'implémentation IBM de la spécification JAX-WS. Cette annotation indique que ce service doit activer la prise en charge WS-Addressing pour la spécification WS-Addressing 2004/08. Vous ne pouvez utiliser cette annotation que sur le bean d'implémentation ; vous ne pouvez pas l'utiliser sur l'interface du noeud final du service.

Pour plus d'informations sur les annotations Addressing et SubmissionAddressing, y compris les exemples de code, voir Activation de la prise en charge de Web Services Addressing pour les applications JAX-WS à l'aide d'annotations d'adressage.

Le code de l'exemple suivant utilise l'annotation d'action pour définir l'opération d'appel à appeler (input), et l'action ajoutée au message de réponse (output). Cet exemple utilise également l'annotation FaultAction pour indiquer l'action ajoutée à un message de réponse en cas d'incident :
@WebService(name = "Calculator")
public interface Calculator {
   ...
  	 @Action(
      input="http://calculator.com/inputAction",
      output="http://calculator.com/outputAction",
      fault = { @FaultAction(className=AddNumbersException.class, 
                value="http://calculator.com/faultAction") 
      }
   )
   public int add(int value1, int value2) throws AddNumbersException {
      return value1 + value2;
   }
}
Si vous utilisez un outil pour générer des artefacts de service à partir du code, les balises WSDL générées depuis l'exemple précédent sont les suivantes :
<definitions targetNamespace="http://example.com/numbers" ...>
   ...
   <portType name="AddPortType">
      <operation name="Add">
         <input message="tns:AddInput" name="Parameters"
                         wsam:Action="http://calculator.com/inputAction"/>
         <output message="tns:AddOutput" name="Result"
           	               wsam:Action="http://calculator.com/outputAction"/>
         <fault message="tns:AddNumbersException" name="AddNumbersException"
           	              wsam:Action="http://calculator.com/faultAction"/>
      </operation>
    <portType>
    ...
<definitions>

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsa_annots
Nom du fichier : cwbs_wsa_annots.html