Annotations JAX-WS

JAX-WS (Java™ API for XML-Based Web Services) s'appuie sur l'utilisation des annotations pour spécifier les métadonnées associées aux implémentations de services Web et pour simplifier le développement de services Web. Les annotations décrivent la façon dont une implémentation de service côté serveur est accessible sous la forme d'un service Web ou comment une classe Java côté client accède aux services Web.

La norme de programmation JAX-WS introduit le support d'annotation de classes Java à l'aide des métadonnées permettant de définir une application de noeud final de service sous la forme d'un service Web, ainsi que le mode d'accès au service Web par un client. JAX-WS prend en charge l'utilisation des annotations basées sur Metadata Facility pour la spécification Java Programming Language (Java Specification Request (JSR) 175), Web Services Metadata pour la spécification Java Platform (JSR 181) et les annotations définies par la spécification JAX-WS version 2.0 ou ultérieure (JSR 224) qui inclut des annotations JAXB. En utilisant des annotations de la norme JSR 181, vous pouvez simplement annoter la classe d'implémentation de service ou l'interface de service pour que l'application soit activée sous la forme d'un service Web. L'utilisation d'annotations dans la source Java simplifie le développement et le déploiement de services Web via la définition de quelques-unes des informations supplémentaires qui sont généralement extraites des fichiers descripteurs de déploiement, des fichiers WSDL ou du mappage de métadonnées des fichiers XML et WSDL vers les artefacts source.

Utilisez les annotations pour configurer des liaisons, des chaînes de gestionnaires, des noms définis de type de port (portType), de service et d'autres paramètres WSDL. Les annotations sont utilisées dans le cadre du mappage de Java vers WSDL et les schémas, ainsi qu'au moment de l'exécution pour contrôler la façon dont le module d'exécution JAX-WS traite les appels de service Web et répond à ces derniers.

Pour les services Web JAX-WS, l'utilisation du descripteur de déploiement webservices.xml est facultatif car vous pouvez utiliser des annotations pour spécifier toutes les informations contenues dans le fichier de descripteur de déploiement. Vous pouvez utiliser ce fichier pour augmenter ou remplacer des annotations JAX-WS existantes. Toutes les informations que vous définissez dans le descripteur de déploiement webservices.xml remplacent les informations correspondantes spécifiées par les annotations.

A partir de WebSphere Application Server versions 7.0 et ultérieures, les modules d'application Java EE 5 (modules d'application Web version 2.5 ou ultérieure, ou modules EJB modules version 3.0 ou ultérieure) font l'objet d'une recherche d'annotations pour identifier les clients et les services JAX-WS. En revanche, les modules d'application antérieurs à Java EE 5 (modules d'application Web versions 2.4 ou antérieures, ou modules EJB versions 2.1 ou antérieures) ne font pas l'objet de cette recherche d'annotations JAX-WS par défaut, pour des raisons liées aux performances.

Dans la version 6.1 du Feature Pack for Web Services, le comportement par défaut consistait à rechercher les modules d'application Web antérieurs à Java Platform, Enterprise Edition (Java EE) 5 pour identifier les services JAX-WS et à rechercher les modules d'application Web et les modules d'EJB antérieurs à Java EE 5 pour les clients de service pendant l'installation de l'application. Dans la mesure où le comportement par défaut de WebSphere Application Server version 7.0 et ultérieures n'est pas de rechercher les annotations dans les modules EE 5 pendant l'installation de l'application ou le démarrage du serveur, pour préserver la compatibilité amont avec les précédentes versions du Feature Pack, vous devez configurer l'une des propriétés suivantes :
  • Vous pouvez définir la valeur true pour la propriété UseWSFEP61ScanPolicy dans l'élément META-INF/MANIFEST.MF d'un fichier WAR ou d'un module EJB. Par exemple :
    Manifest-Version: 1.0
    UseWSFEP61ScanPolicy: true
    Lorsque la valeur de cette propriété est true dans le fichier META-INF/MANIFEST.MF du module, les annotations JAX-WS sont recherchées dans ce dernier quelle que soit la version Java EE du module. La valeur par défaut est false et si elle est effective, les annotations JAX-WS ne sont prises en charge que dans des modules dont la version est Java EE 5 ou ultérieure.
  • Vous pouvez définir la propriété personnalisée com.ibm.websphere.webservices.UseWSFEP61ScanPolicy de la machine virtuelle Java (JVM) à l'aide de la console d'administration. Reportez-vous à la documentation relative aux propriétés personnalisées de la JVM pour connaître le chemin de navigation correct à utiliser. Pour demander la recherche d'annotations dans tous les modules quels que soient leur version Java EE, attribuez la valeur true à la propriété personnalisée com.ibm.websphere.webservices.UseWSFEP61ScanPolicy. Vous devez modifier la définition sur chaque serveur requérant une modification du comportement par défaut.
Si la propriété est définie dans un fichier META-INF/MANIFEST.MF de module, cette définition remplace la propriété personnalisée de la JVM sur le serveur. Lors de l'utilisation de l'une ou l'autre propriété, vous devez établir le comportement de recherche d'annotations souhaité avant que l'application ne soit installée. Vous ne pouvez pas modifier de façon dynamique le comportement de la recherche une fois l'application installée. Si des modifications du comportement sont requises une fois l'application installée, vous devez d'abord désinstaller l'application, spécifier le comportement de recherche souhaité à l'aide de la propriété adaptée, puis réinstaller l'application. Lors de la fédération de noeuds dont la propriété com.ibm.websphere.webservices.UseWSFEP61ScanPolicy a pour valeur true dans la configuration des serveurs contenus dans le noeud, cette propriété n'affecte pas le gestionnaire de déploiement. Vous devez attribuez la valeur true à cette propriété sur le gestionnaire de déploiement avant que le noeud soit fédéré afin de conserver le comportement tel qu'il était sur le noeud avant fédération.
[z/OS]
Eviter les incidents Eviter les incidents: Si cette propriété de machine virtuelle Java est utilisée sur la plateforme z/OS, elle doit être définie dans les régions serviteur et de contrôle du serveur. gotcha
Eviter les incidents Eviter les incidents: Lors de la fédération de noeuds dont la propriété com.ibm.websphere.webservices.UseWSFEP61ScanPolicy a pour valeur true dans la configuration des serveurs contenus dans le noeud, ceci n'affecte pas le gestionnaire de déploiement. Vous devez attribuez la valeur true à cette propriété sur le gestionnaire de déploiement avant que le noeud soit fédéré si vous souhaitez conserver le comportement tel qu'il était sur le noeud avant fédération.gotcha
Les annotations prises en charge par JAX-WS sont répertoriées dans le tableau ci-dessous. La cible des annotations est applicable pour les objets Java suivants :
  • types, comme une classe Java, énumération ou interface
  • méthodes
  • zones représentant des variables d'instance locales dans une classe Java
  • paramètres dans une méthode Java
Tableau 1. Annotations de métadonnées de services Web (JSR 181). Décrit les annotations de métadonnées de services Web prises en charge et leurs propriétés associées.
Classe d'annotation Annotation Propriétés
javax.jws. WebService L'annotation @WebService marque une classe Java comme implémentant un service Web ou marque une interface SEI (Service Endpoint Interface) comme implémentant une interface de service Web.
Important :
  • Une classe Java qui implémente un service Web doit spécifier l'annotation @WebService ou @WebServiceProvider. Les deux annotations ne peuvent pas être présentes. Cette annotation est applicable sur une interface SEI client ou serveur ou sur une classe d'implémentation de noeud final de serveur.
  • Si l'annotation fait référence à une interface SEI via l'attribut endpointInterface, l'interface SEI doit également être annotée à l'aide de @WebService.
  • Consultez les méthodes d'exposition dans les informations sur les services Web JAX-WS basés sur SEI pour vous renseigner sur les bonnes pratiques d'utilisation des annotations @WebService et @WebMethod dans une implémentation de noeud final de service. Cela vous permettra de sélectionner les méthodes Java à exposer comme services Web JAX-WS.
  • Cible de l'annotation : Type
  • Propriétés :
    - name
    Nom de wsdl:portType. La valeur par défaut est le nom non qualifié de la classe ou de l'interface Java. (Chaîne)
    - targetNamespace
    Indique l'espace de nom XML du WSDL et des éléments XML générés à partir du service Web. La valeur par défaut est l'espace de nom mappé à partir du nom de package contenant le service Web. (Chaîne)
    - serviceName
    Indique le nom du service Web : wsdl:service. La valeur par défaut est le nom simple de la classe Java + Service. (Chaîne)
    - endpointInterface
    Indique le nom qualifié de l'interface de point de contact de service qui définit le contrat de service Web abstrait des services. Si ce nom est indiqué, l'interface de point de contact de service sert à déterminer le contrat WSDL abstrait. (Chaîne)
    - portName
    Correspond à l'attribut wsdl:portName. La valeur par défaut est WebService.name +Port . (Chaîne)
    - wsdlLocation
    Spécifie l'adresse Web du document WSDL qui définit le service Web. L'adresse Web est relative ou absolue. (Chaîne)
javax.jws. WebMethod L'annotation @WebMethod indique une méthode correspondant à une opération de service Web.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - operationName
    Indique le nom de l'attribut wsdl:operation correspondant à cette méthode. La valeur par défaut est le nom de la méthode Java. (Chaîne)
    - action
    Définit l'action correspondant à cette opération. Pour les liaisons SOAP, cette valeur détermine la valeur de l'en-tête SOAPAction et doit être définie explicitement.
    - exclude
    Indique si une méthode doit être exclue du service Web. La valeur par défaut est false. (Booléen)
javax.jws. Oneway L'annotation @Oneway dénote une méthode sous la forme d'une opération unidirectionnelle de service Web qui ne comporte qu'un message d'entrée et aucun message de sortie.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Aucune propriété n'est associée à l'annotation Oneway.
javax.jws. WebParam L'annotation @WebParam personnalise le mappage d'un paramètre individuel vers un élément XML ou une partie de message de service Web.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Paramètre
  • Propriétés :
    - name
    Nom du paramètre. Si l'opération est de type RPC (Remote Procedure Call) et que l'attribut partName n'est pas spécifié, ce nom désigne l'attribut wsdl:part représentant le paramètre. Si l'opération est de type document ou que le paramètre est mappé vers un en-tête, -name désigne le nom local de l'élément XML représentant le paramètre. Cet attribut est obligatoire si l'opération est de type document, que le style de paramètre est BARE et que le mode est OUT ou INOUT. (Chaîne)
    - partName
    Définit le nom de l'attribut wsdl:part représentant ce paramètre. Ce nom n'est utilisé que si l'opération est de type RPC ou que l'opération est de type document et que le style de paramètre est BARE. (Chaîne)
    - targetNamespace
    Indique l'espace de nom XML de l'élément XML du paramètre. Ne concerne que les liaisons document lorsque l'attribut est mappé vers un élément XML. La valeur par défaut est l'élément targetNamespace du service Web. (Chaîne)
    - mode
    La valeur représente le sens du flux du paramètre pour cette méthode. Les valeurs admises sont IN, INOUT et OUT. (Chaîne)
    - header
    Indique si le paramètre figure dans un en-tête de message plutôt que dans un corps de message. La valeur par défaut est false. (Booléen)
javax.jws. WebResult L'annotation @WebResult personnalise le mappage d'une valeur de retour vers une partie WSDL ou un élément XML.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - name
    Indique le nom de la valeur de retour telle qu'elle est répertoriée dans le fichier WSDL et détectée dans les messages électroniques. Pour les liaisons RPC, il s'agit du nom de l'attribut wsdl:part représentant la valeur de retour. Pour les liaisons de document, le paramètre -name correspond au nom local de l'élément XML représentant la valeur de retour. La valeur par défaut est return pour les liaisons RPC et DOCUMENT/WRAPPED. La valeur par défaut correspond au nom de méthode + Response pour les liaisons DOCUMENT/BARE. (Chaîne)
    - targetNamespace
    Indique l'espace de nom XML pour la valeur de retour. Ce paramètre n'est utilisé que si l'opération est de type RPC ou si l'opération est de type DOCUMENT et que le style de paramètre est BARE. (Chaîne)
    - header
    Indique si le résultat est transporté dans un en-tête. La valeur par défaut est false. (Booléen)
    - partName
    Indique le nom de partie du résultat comportant des opérations RPC ou DOCUMENT/BARE. La valeur par défaut est @WebResult.name. (Chaîne)
javax.jws. HandlerChain L'annotation @HandlerChain associe le service Web à une chaîne de gestionnaires définie en externe.

Vous ne pouvez configurer le gestionnaire côté serveur qu'à l'aide de l'annotation @HandlerChain sur l'interface SEI (Service Endpoint Interface) ou la classe d'implémentation de noeud final de serveur.

Utilisez une des nombreuses méthodes permettant de configurer un gestionnaire côté client. Vous pouvez configurer le gestionnaire côté client à l'aide de l'annotation @HandlerChain sur la classe de service générée ou l'interface SEI. En outre, vous pouvez à l'aide d'un programme enregistrer votre propre implémentation de l'interface HandlerResolver sur le service ou définir la chaîne de gestionnaires sur l'objet Binding.

  • Cible de l'annotation : Type
  • Propriétés :
    - file
    Indique l'emplacement du fichier de chaînes de gestionnaires. Le fichier se trouve dans un chemin java.net.URL absolu sous forme externe ou dans un chemin relatif à partir du fichier de classes. (Chaîne)
    - name
    Indique le nom de la chaîne de gestionnaires dans le fichier de configuration. (Chaîne)
javax.jws. SOAPBinding L'annotation @SOAPBinding indique le mappage du service Web vers le protocole de message SOAP.

Appliquez cette annotation à un type ou aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

L'annotation de niveau méthode est limitée quant à l'élément qu'elle peut spécifier et n'est utilisée que si la propriété style est DOCUMENT. Si l'annotation de niveau méthode n'est pas spécifiée, le comportement @SOAPBinding du type est utilisé.

  • Cible de l'annotation : Type ou Méthode
  • Propriétés :
    - style
    Définit le style de codage des messages envoyés à destination et en provenance du service Web. Les valeurs admises sont DOCUMENT et RPC. La valeur par défaut est DOCUMENT. (Chaîne)
    - use
    Définit le format utilisé pour les messages envoyés à destination et en provenance du service Web. La valeur par défaut est LITERAL. ENCODED n'est pas pris en charge. (Chaîne)
    - parameterStyle
    Détermine si les paramètres de la méthode représentent la totalité du corps de message ou si les paramètres sont des éléments encapsulés dans un élément de niveau supérieur portant le nom de l'opération. Les valeurs admises sont WRAPPED ou BARE. Vous ne pouvez utiliser la valeur BARE qu'avec les liaisons de style DOCUMENT. La valeur par défaut est WRAPPED. (Chaîne)

Tableau 2. Annotations JAX-WS (JSR 224). Décrit les annotations JAX-WS prises en charge et leurs propriétés associées.
Classe d'annotation Annotation Propriétés
javax.xml.ws. Action L'annotation @Action spécifie l'action WS-Addressing qui est associée à une opération de service Web.

Lorsque vous utilisez cette annotation avec une méthode particulière, et générez le document WSDL correspondant, l'attribut de l'extension WS-Addressing Action est ajouté aux éléments d'entrée et de sortie de l'opération WSDL qui correspond à cette méthode.

Pour ajouter cet attribut à l'opération WSDL, vous devez également spécifier l'annotation @Addressing sur la classe d'implémentation de noeud final de serveur. Si vous ne voulez pas utiliser l'annotation @Addressing, vous pouvez fournir votre propre document WSDL avec l'attribut Action déjà défini.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - fault
    Spécifie le tableau de FaultAction pour le paramètre wsdl:fault de l'opération. (Chaîne)
    - input
    Spécifie l'action pour le paramètre wsdl:input de l'opération. (Chaîne)
    - output
    Spécifie l'action pour l'élément wsdl:output de l'opération. (Chaîne)
javax.xml.ws. BindingType L'annotation @BindingType indique la liaison à utiliser lors de la publication d'un point de contact de ce type.

Appliquez cette annotation à une classe d'implémentation de noeud final de serveur.

Important : Vous pouvez utiliser l'annotation @BindingType sur la classe d'implémentation de point de contact JavaBeans pour activer MTOM, en spécifiant la valeur javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING ou javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING pour l'annotation.
  • Cible de l'annotation : Type
  • Propriétés :
    - value
    Indique l'adresse Web d'identification de liaison. Les valeurs admises sont javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING et javax.xml.ws.http.HTTPBinding.HTTP2HTTP_BINDING. La valeur par défaut est javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING. (Chaîne)
javax.xml.ws. FaultAction L'annotation @FaultAction spécifie l'action WS-Addressing qui est ajoutée à une réponse d'erreur.

Cette annotation doit être placée dans une annotation @Action.

Si vous utilisez cette annotation avec une méthode particulière, l'attribut de l'extension WS-Addressing FaultAction est ajouté à l'élément fault de l'opération WSDL qui correspond à cette méthode.

Pour ajouter cet attribut à l'opération WSDL, vous devez également spécifier l'annotation @Addressing sur la classe d'implémentation de noeud final de serveur. Si vous ne voulez pas utiliser l'annotation @Addressing, vous pouvez fournir votre propre document WSDL avec l'attribut Action déjà défini.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - value
    Spécifie l'action du paramètre wsdl:fault de l'opération. (Chaîne)
    - output
    Spécifie le nom de la classe d'exception. (Chaîne)
    - className
    Indique le nom de la classe représentant l'encapsuleur de demande. (Chaîne)
javax.xml.ws. RequestWrapper L'annotation @RequestWrapper fournit le bean d'encapsulation de demande généré JAXB, le nom d'élément et l'espace de nom pour la sérialisation et la désérialisation, à l'aide du bean d'encapsulation de demande utilisé au moment de l'exécution.

Lors du démarrage à l'aide d'un objet Java, cet élément sert à résoudre les conflits de surcharge en mode document/literal. Seul l'attribut className est requis dans ce cas.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - localName
    Indique le nom local de l'élément de schéma XML représentant l'encapsuleur de demande. La valeur par défaut est operationName, comme défini dans l'annotation javax.jws.WebMethod. (Chaîne)
    - targetNamespace
    Indique l'espace de nom XML de la méthode d'encapsulation de demande. La valeur par défaut est l'espace de nom cible de l'interface SEI. (Chaîne)
    - className
    Indique le nom de la classe représentant l'encapsuleur de demande. (Chaîne)
    - partName
    Spécifie le nom de l'attribut wsdl:part qui représente l'élément de schéma XML pour la classe RequestWrapper. Cette propriété est applicable à JAX-WS 2.2 et versions ultérieures. (Chaîne)
javax.xml.ws. ResponseWrapper L'annotation @ResponseWrapper fournit le bean d'encapsulation de réponse généré JAXB, le nom d'élément et l'espace de nom pour la sérialisation et la désérialisation, à l'aide du bean d'encapsulation de réponse utilisé au moment de l'exécution.

Lors du démarrage à l'aide d'un objet Java, cet élément sert à résoudre les conflits de surcharge en mode document/literal. Seul l'attribut className est requis dans ce cas.

Appliquez cette annotation aux méthodes d'une interface SEI (Service Endpoint Interface) client ou serveur ou d'une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - localName
    Indique le nom local de l'élément de schéma XML représentant l'encapsuleur de demande. La valeur par défaut est operationName + Response. La valeur par défaut operationName est définie dans l'annotation javax.jws.WebMethod. (Chaîne)
    - targetNamespace
    Indique l'espace de nom XML de la méthode d'encapsulation de demande. La valeur par défaut est l'espace de nom cible de l'interface SEI. (Chaîne)
    - className
    Indique le nom de la classe représentant l'encapsuleur de réponse. (Chaîne)
    - partName
    Spécifie le nom de l'attribut wsdl:part qui représente l'élément de schéma XML pour la classe ResponseWrapper. Cette propriété est applicable à JAX-WS 2.2 et versions ultérieures. (Chaîne)
javax.xml.ws. RespectBinding L'annotation @RespectBinding indique si l'implémentation JAX-WS doit utiliser le contenu de l'élément wsdl:binding pour un noeud final.

Si cette annotation est spécifiée, un contrôle est effectué pour s'assurer que tous les éléments d'extensibilité WSDL requis avec l'attribut activé avec la valeur true sont pris en charge.

Appliquez cette annotation aux méthodes sur une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
  • Propriétés :
    - enabled
    Indique si wsdl:binding doit être utilisé ou non. La valeur par défaut est true. (Booléen)
javax.xml.ws. ServiceMode L'annotation @ServiceMode indique si un fournisseur de service doit avoir accès à la totalité d'un message de protocole ou uniquement à la charge utile du message.
Important : L'annotation @ServiceMode n'est prise en charge que sur les classes annotées à l'aide de @WebServiceProvider.
  • Cible de l'annotation : Type
  • Propriétés :
    - value
    Indique si la classe de fournisseur accepte la charge utile du message, PAYLOAD, ou la totalité du message, MESSAGE. La valeur par défaut est PAYLOAD. (Chaîne)
javax.xml.ws. soap.Addressing L'annotation @Addressing indique que ce service veut activer la prise en charge WS-Addressing.

Appliquez cette annotation aux méthodes sur une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Type
  • Propriétés :
    - enabled
    Indique si WS-Addressing est activé ou non. La valeur par défaut est true. (Booléen)
    - required
    Indique que les en-têtes WS-Addressing doivent être présents sur les messages entrants. La valeur par défaut est false. (Booléen)
    - responses
    Indique le système d'échange de messages à utiliser. La valeur par défaut est Responses.ALL. Cette propriété est applicable à JAX-WS 2.2 et versions ultérieures. (Chaîne)
javax.xml.ws. soap.MTOM L'annotation @MTOM indique si un contenu binaire dans le corps d'un message SOAP est envoyé à l'aide de MTOM.

Appliquez cette annotation à une classe d'implémentation de noeud final de service.

  • Cible de l'annotation : Classe
  • Propriétés :
    - enabled
    Indique si MTOM est activé pour le noeud final JAX-WS. La valeur par défaut est true. (Booléen)
    - threshold
    Indique la taille minimale des messages envoyés à l'aide de MTOM. Si la taille du message est inférieure à l'entier spécifié, le message est intégré dans le document XML en tant que données base64 ou hexBinary. (Entier)
javax.xml.ws. WebFault L'annotation @WebFault mappe les erreurs WSDL vers les exceptions Java. Elle sert à enregistrer le nom de l'erreur pendant la sérialisation du type JAXB qui est généré à partir d'un élément global référencé par un message d'erreur WSDL. Elle permet également de personnaliser le mappage des exceptions spécifiques à un service vers des incidents WSDL.

Cette annotation ne peut être appliquée qu'à une classe d'implémentation d'erreur sur le client ou le serveur.

  • Cible de l'annotation : Type
  • Propriétés :
    - name
    Indique le nom local de l'élément XML représentant l'erreur correspondante dans le fichier WSDL. La valeur réelle doit être spécifiée. (Chaîne)
    - targetNamespace
    Indique l'espace de nom de l'élément XML représentant l'erreur correspondante dans le fichier WSDL. (Chaîne)
    - faultBean
    Indique le nom de la classe de bean d'erreur. (Chaîne)
    - messageName
    Spécifie le nom de l'attribut wsdl:message qui représente le défaut (fault) correspondant dans le fichier WSDL. Cette propriété est applicable à JAX-WS 2.2 et versions ultérieures. (Chaîne)
javax.xml.ws. WebServiceProvider L'annotation @WebServiceProvider indique qu'une classe satisfait les exigences d'une classe d'implémentation de fournisseur JAX-WS.
Important :
  • Une classe Java qui implémente un service Web doit spécifier l'annotation @WebService ou @WebServiceProvider. Les deux annotations ne peuvent pas être présentes.
  • L'annotation @WebServiceProvider n'est prise en charge que sur la classe d'implémentation de service.
Toute classe spécifiant l'annotation @WebServiceProvider doit implémenter l'interface javax.xml.ws.Provider.
  • Cible de l'annotation : Type
  • Propriétés :
    - targetNamespace
    Indique l'espace de nom XML du WSDL et des éléments XML générés à partir du service Web. La valeur par défaut est l'espace de nom mappé à partir du nom de package contenant le service Web. (Chaîne)
    - serviceName
    Indique le nom du service Web : wsdl:service. La valeur par défaut est le nom simple de la classe Java + Service. (Chaîne)
    - portName
    Correspond à l'attribut wsdl:portName. La valeur par défaut est le nom de la classe+ Port. (Chaîne)
    - wsdlLocation
    Adresse Web du document WSDL définissant le service Web. Cet attribut est obligatoire. (Chaîne)
javax.xml.ws. WebServiceRef L'annotation @WebServiceRef définit une référence à un service Web appelé par le client.
Remarque :
  • L'annotation @WebServiceRef peut être utilisée pour injecter des instances de ports et de services JAX-WS.
  • L'annotation @WebServiceRef est prise en charge uniquement dans certains types de classe, des classes d'implémentation de noeud final JAX-WS, des classes de gestionnaire JAX-WS, des classe Enterprise JavaBeans et des classes de servlet, par exemple. Cette annotation est prise en charge dans les mêmes types de classe que l'annotation @Resource. Pour la liste complète des types de classe pris en charge, voir la spécification Java EE (Java Platform, Enterprise Edition) 5.
  • Cible de l'annotation : Type, Zone ou Méthode
  • Propriétés :
    - name
    Nom JNDI de la ressource. Le nom de zone est la valeur par défaut pour des annotations de zone. Le nom de propriété JavaBeans correspondant à la méthode est la valeur par défaut pour des annotations de méthode. Vous devez spécifier une valeur pour des annotations de classe s'il n'existe pas de valeur par défaut. (Chaîne)
    - type
    Indique le type Java de la ressource. Le type de zone est la valeur par défaut pour des annotations de zone. Le type de la propriété JavaBeans est la valeur par défaut pour des annotations de méthode. Vous devez spécifier une valeur pour des annotations de classe s'il n'existe pas de valeur par défaut. (Classe)
    - mappedName
    Indique le nom avec lequel mapper cette ressource. (Chaîne)
    - value
    Indique la valeur de la classe de service et s'il s'agit d'un type qui étend javax.xml.ws.Service. Cet attribut est obligatoire si le type de la référence est une interface du noeud final du service. (Classe)
    - wsdlLocation
    Adresse Web du document WSDL définissant le service Web. Cet attribut est obligatoire. (Chaîne)
    - lookup
    Spécifie le nom de recherche JNDI pour le service Web cible. Cette propriété est applicable à JAX-WS 2.2 et versions ultérieures. (Chaîne)
javax.xml.ws. WebServiceRefs L'annotation @WebServiceRefs associe plusieurs annotations @WebServiceRef avec une classe spécifique.
Remarque : L'annotation @WebServiceRef est prise en charge uniquement dans certains types de classe, des classes d'implémentation de noeud final JAX-WS, des classes de gestionnaire JAX-WS, des classe Enterprise JavaBeans et des classes de servlet, par exemple. Cette annotation est prise en charge dans les mêmes types de classe que l'annotation @Resource. Pour la liste complète des types de classe pris en charge, voir la spécification Java EE (Java Platform, Enterprise Edition) 5.
  • Cible de l'annotation : Type
  • Propriétés :
    - value
    Indique un tableau associé à plusieurs déclarations de référence de service Web. Cet attribut est obligatoire.
Tableau 3. Annotations communes JAX-WS (JSR 250). Décrit les annotations communes JAX-WS prises en charge et leurs propriétés associées.
Classe d'annotation Annotation Propriétés
javax.annotation. Resource L'annotation @Resource marque une ressource WebServiceContext requise par l'application.
Remarque :

L'application de cette annotation sur une zone de type WebServiceContext sur la classe d'implémentation de noeud final de serveur pour un noeud final JavaBeans ou un noeud final de fournisseur entraîne le conteneur à injecter une instance de WebServiceContext dans la zone spécifiée.

Lorsque cette annotation est utilisée à la place de l'annotation @WebServiceRef, les règles décrites pour l'annotation @WebServiceRef s'appliquent.

  • Cible de l'annotation : Zone ou Méthode
  • Propriétés :
    - type
    Indique le type Java de la ressource. Vous devez utiliser la valeur par défaut java.lang.Object ou la valeur javax.xml.ws.Web ServiceContext. Si le type correspond à la valeur par défaut, la ressource doit être injectée dans une zone ou dans une méthode. Dans ce cas, le type de la zone ou le type de la propriété JavaBeans définie par la méthode doit être javax.xml.ws.WebServiceContext. (Classe)
    Si vous utilisez cette annotation pour injecter un service Web, voir la description de l'attribut type de @WebServiceRef.
javax.annotation. Resources L'annotation @Resources associe plusieurs annotations @Resource à une classe spécifique et sert de conteneur pour de nombreuses déclarations de ressources.
  • Cible de l'annotation : Zone ou Méthode
  • Propriétés :
    - value
    Indique un tableau pour plusieurs annotations @Resource. Cet attribut est obligatoire.
javax.annotation. PostConstruct L'annotation @PostConstruct marque une méthode qui doit s'exécuter une fois l'injection de dépendance effectuée sur la classe.

Appliquez cette annotation sur un gestionnaire d'applications JAX-WS ou une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
javax.annotation. PreDestroy L'annotation @PreDestroy marque une méthode qui doit s'exécuter lorsque l'instance est en cours de suppression par le conteneur.

Appliquez cette annotation sur un gestionnaire d'applications JAX-WS ou une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Méthode
Tableau 4. Annotations propriétaires IBM. Décrit les annotations IBM® propriétaires prises en charge et leurs propriétés associées.
Classe d'annotation Annotation Propriétés
com.ibm.websphere. wsaddressing. jaxws21. SubmissionAddressing L'annotation @SubmissionAddressing indique que ce service souhaite activer la prise en charge de WS-Addressing pour la spécification WS-Addressing 2004/08.

Cette annotation fait partie de l'implémentation IBM de la spécification JAX-WS 2.1.

Appliquez cette annotation aux méthodes sur une classe d'implémentation de noeud final de serveur.

  • Cible de l'annotation : Type
  • Propriétés :
    - enabled
    Indique si WS-Addressing est activé ou non. La valeur par défaut est true. (Booléen)
    - required
    Indique que les en-têtes WS-Addressing doivent être présents sur les messages entrants. La valeur par défaut est false. (Booléen)

Icône indiquant le type de rubrique Rubrique de référence



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=rwbs_jaxwsannotations
Nom du fichier : rwbs_jaxwsannotations.html