Avec les services Web reposant sur l'API Java™ pour XML, vous pouvez utiliser des annotations dans votre code Java pour simplifier la création des services Web.
La norme de programmation JAX-WS (Java API for XML-Based Web Services) s'appuie sur l'utilisation d'annotations pour spécifier les métadonnées qui sont associées à des implémentations de service Web. Elle s'appuie également sur des annotations pour simplifier le développement des services Web. Les annotations décrivent deux aspects des services Web : la façon dont une implémentation de service côté serveur est accessible sous la forme d'un service Web, et comment une classe Java côté client accède aux services Web.
Vous pouvez utiliser des annotations pour configurer des liaisons et des chaînes de gestionnaires ainsi que pour définir les noms de type de port, de service et d'autres paramètres WSDL. Vous pouvez aussi utiliser des annotations lors de la génération pour mapper des éléments Java à des éléments WSDL et un schéma, et lors de l'exécution, pour contrôler la façon dont l'environnement d'exécution JAX-WS traite les appels de service Web et y répond.
Le produit utilise des annotations dans les clients que vous créez à l'aide de l'assistant de client de service Web. L'assistant génère un proxy de client et une classe de service statique avec des annotations. Ces annotations spécifient la façon dont le client accède au service Web.
Pour des informations détaillées sur les annotations que vous pouvez utiliser, voir la référence connexe.
Les scénarios suivants concernant les services Web sont pris en charge par les outils et les environnements d'exécution WebSphere :
Scénario | Environnement d'exécution | Commentaires |
---|---|---|
Bean Java ascendant | WebSphere Application Server versions 7.0 et ultérieures | Avec des annotations seulement ou en conjonction avec les assistants de services Web. Si le bean possède déjà une annotation @javax.jws.WebService, la plupart des zones de l'assistant sont désactivées car ce dernier n'a pas besoin de générer de bean délégué pour vous. Vous pouvez opter pour la génération d'un fichier WSDL seulement. Si vous avez ajouté l'annotation @javax.jws.WebService seulement à votre bean Java et voulez activer d'autres options telles que la liaison SOAP 1.2 ou MTOM, quittez l'assistant et supprimez l'annotation ou créez le service Web à l'aide de la documentation sur les annotations. L'assistant ne vous autorise pas à ajouter de nouvelles annotations à un bean existant partiellement annoté. |
EJB 2.x ascendant | Aucun | Non pris en charge pour l'utilisation des annotations |
EJB 3.0 ascendant | WebSphere Application Server versions 7.0 et ultérieures | Impossible de combiner les annotations et l'assistant de services Web. Vous devez utiliser des annotations et déployer le bean EJB sur le serveur d'applications. |
Bean Java avec rapprochement à mi-parcours | WebSphere Application Server versions 7.0 et ultérieures | Ce scénario permet de mapper un bean Java annoté de service Web à un document WSDL à l'aide de l'attribut wsdlLocation. Remarque : si vous voulez utiliser SOAP 1.2 :
vous devez spécifier l'attribut wsdlLocation de l'annotation @WebService, comme dans l'exemple suivant :
Vous ne pouvez pas utiliser le fichier WSDL généré dynamiquement par
WebSphere Application Server mais devez disposer d'un fichier WSDL créé préalablement. Vous pouvez aussi utiliser les assistants de services Web, qui génèrent un fichier WSDL pour vous si vous choisissez d'utiliser SOAP 1.2 lorsque vous générez un service Web à partir d'un bean Java.Pour plus d'informations, voir Création d'un service Web à partir d'un bean Java et d'un fichier WSDL. |
EJB 3.0 avec rapprochement à mi-parcours | WebSphere Application Server versions 7.0 et ultérieures | Ce scénario permet de mapper un bean EJB annoté de service Web à un document WSDL à l'aide de l'attribut wsdlLocation. Pour plus d'informations, voir Création d'un service Web à partir d'un bean EJB et d'un fichier WSDL. |
@WebService
public class QuoteBean implements StockQuote {
public float getQuote(String sym) { ... }
}
L'annotation @WebService indique à l'environnement d'exécution du serveur d'exposer toutes les méthodes publiques sur ce bean sous forme de service Web. Vous pouvez contrôler davantage de niveaux de granularité en ajoutant d'autres annotations dans des méthodes ou des paramètres individuels. L'utilisation d'annotations simplifie considérablement l'exposition d'artefacts Java sous forme de services Web. De plus, dans la mesure où les artefacts sont créés à l'aide d'outils de mappage descendants qui partent d'un fichier WSDL, les annotations sont incluses dans la source et les classes Java afin de capturer les métadonnées conjointement avec les fichiers source.