Implémentation d'applications de services Web à l'aide de JAX-WS
Lorsque vous utilisez des JavaBeans ou des beans enterprise existants, vous pouvez suivre une approche ascendante pour développer des services Web JAX-WS selon le modèle de programmation JAX-WS (Java™ API for XML-Based Web Services).
Avant de commencer
Déterminez le JavaBeans ou le beans enterprise existant que vous souhaitez exposer en tant que service Web JAX-WS.
Pourquoi et quand exécuter cette tâche
Pour développer des services Web sur la base d'un modèle de programmation JAX-WS, vous pouvez utiliser une approche ascendante à partir d'un JavaBeans ou d'un beans enterprise existant, ou utiliser une approche descendante à partir d'un fichier WSDL (Web Services Description Language) existant. Cette tâche décrit le déroulement d'une approche de développement ascendante.
Lors du développement de services Web JAX-WS à partir d'un JavaBeans ou de beans enterprise existant, vous pouvez exposer le bean en tant que service Web JAX-WS à l'aide d'annotations. L'ajout de l'annotation @WebService ou @WebServiceProvider au bean définit le bean en tant que service Web JAX-WS. Les services Web JAX-WS peuvent en option utiliser une interface SEI. Outre l'annotation du bean et de l'interface SEI facultative, vous devez assembler tous les artefacts requis par le service Web, et déployer l'application résultante dans l'environnement du serveur d'applications pour effectuer le processus d'activation du bean en tant que service Web. Bien que l'utilisation d'un fichier WSDL soit considéré comme une valeur recommandée, vous n'êtes pas tenu d'inclure un fichier WSDL dans les services Web JAX-WS.
- Considérations relatives à l'utilisation de JavaBeans
- Les JavaBeans exposés en tant que services Web JAX-WS sont pris en charge uniquement via un transport HTTP.
- JavaBeans peut utiliser Contexts and Dependency Injection (CDI). Notez que l'injection du constructeur n'est pas prise en charge.
- Considérations liées à l'utilisation de beans enterprise
- Le bean enterprise doit être un bean session sans état ou un singleton.
- Les beans enterprise exposés en tant que services Web JAX-WS doivent être inclus dans les modules EJB 3.0 ou version supérieure.
- Les applications JAX-WS contenant des beans enterprise doivent être déployées à l'aide de la commande endptEnabler.
- Les services Web JAX-WS utilisant les beans enterprise sont pris en charge via un transport HTTP JMS (Java Message Service).
- Les beans enterprise peuvent utiliser CDI. Notez que l'injection du constructeur n'est pas prise en charge.
- Vous pouvez également inclure des documents WSDL (Web Services Description Language) dans le package d'application JAX-WS.
En commençant par WebSphere Application Server version 7.0 et ultérieure, les modules d'application Java EE 5 (modules d'application Web version 2.5 ou ultérieure ou les modules EJB version 3.0 ou ultérieure) sont analysés pour connaître les annotations permettant d'identifier les services et clients JAX-WS. Toutefois, les modules d'application antérieurs à Java EE 5 (modules d'application Web version 2.4 ou antérieure, ou modules EJB version 2.1 ou antérieure) ne font pas l'objet d'une analyse des annotations JAX-WS, par défaut, pour des raisons de performance. Dans la version 6.1 de Feature Pack for Web Services, le comportement par défaut consiste à analyser les modules d'application Web antérieurs à Java EE 5 pour identifier les services JAX-WS et à rechercher dans les modules d'application Web antérieurs à Java EE 5 et dans les modules EJB des clients de service au cours de l'installation de l'application. Dans la mesure où le comportement par défaut de WebSphere Application Server version 7.0 et ultérieure consiste à ne pas rechercher les annotations dans les modules antérieurs à Java EE 5 au cours de l'installation de l'application ou du démarrage du serveur, si vous souhaitez conserver la compatibilité antérieure avec le module de fonctions, vous devez configurer soit la propriété UseWSFEP61ScanPolicy dans l'élément META-INF/MANIFEST.MF d'un fichier WAR ou d'un module EJB, soit définir la propriété personnalisée de machine virtuelle Java, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, sur les serveurs pour en demander l'analyse pendant l'installation de l'application et le démarrage du serveur. Pour en savoir plus sur l'analyse des annotations, voir les informations relatives aux annotations JAX-WS.
Procédure
Résultats
Vous avez développé une application JAX-WS.