Création d'un service Web à partir d'un bean Java avec l'environnement d'exécution IBM WebSphere JAX-WS

L'assistant de service Web vous aide à créer un nouveau service Web. Une fois votre service Web déployé, l'assistant vous aide à générer le proxy de client et l'exemple d'application pour tester le service Web. Lorsque vous avez terminé le test, vous pouvez publier votre service Web dans un registre métier UDDI à l'aide de l'assistant d'exportation.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Pour créer un service Web depuis un bean avec l'environnement d'exécution IBM® WebSphere JAX-WS :

Procédure

  1. Passez à la perspective Java EE (Fenêtre > Ouvrir la perspective > Java EE).
  2. Dans la vue Explorateur d'entreprise, sélectionnez le bean à créer ou importer dans le dossier source de votre projet Web.
  3. Cliquez sur Fichier > Nouveau > Autre. Sélectionnez Services Web pour afficher les différents assistants de services Web. Sélectionnez l'assistant de services Web. Cliquez sur Suivant.
  4. Dans la page Services Web, sélectionnez Service Web de bean Java ascendant comme type de service Web. En option, vous pouvez effectuer les opérations suivantes :
    1. Faites glisser le curseur à gauche de l'illustration pour indiquer jusqu'à quelle étape du développement du service Web vous souhaitez aller. Cette opération définit plusieurs valeurs par défaut dans les panneaux restants de l'assistant.
      • Développement : développe la définition WSDL et l'implémentation du service Web. Inclut des tâches telles que la création des packages qui contiendront le code généré, les fichiers WSDL, les descripteurs de déploiement et les fichiers Java, le cas échéant.
      • Assemblage : garantit que le projet qui va héberger le service Web est associé à un fichier EAR lorsque le serveur d'application cible le demande.
      • Déploiement : Création du code de déploiement pour le service.
      • Installation : installation et configuration du module Web et des fichiers EAR sur le serveur cible. Si des modifications des noeuds finaux du fichier WSDL sont requises, elles sont apportées à ce stade.
      • Démarrage : Démarrage du serveur une fois le service installé sur le serveur.
      • Test : Permet l'accès à différentes options de test du service, comme l'utilisation du client de service générique, l'explorateur de services Web ou les exemples de page JSP.
    2. Sélectionnez votre environnement d'exécution de serveur : le serveur par défaut s'affiche. Pour déployer votre service sur un serveur différent, cliquez sur le lien du serveur et spécifiez un autre serveur.
      Cette tâche prend en charge les environnements d'exécution de serveur suivants :
      • WebSphere Application Server version 7.0 ou ultérieure
      • WebSphere Application Server Liberty Profile version 8.5.5
    3. Sélectionnez votre environnement d'exécution de service Web : l'environnement d'exécution par défaut s'affiche. Pour déployer votre service dans l'environnement d'exécution IBM WebSphere JAX-WS, cliquez sur le lien de l'environnement d'exécution et sélectionnez-le dans la fenêtre qui s'ouvre.
    4. Sélectionnez le projet de service et le projet EAR de service : le projet sélectionné dans votre espace de travail s'affiche. Seuls les projets Web pour lesquels la facette Java 5.0, Java 6.0 ou Java 7.0 est activée sont pris en charge. Pour sélectionner un projet et un fichier EAR différents, cliquez sur le lien du projet ou entrez un nom et autorisez l'assistant à créer un projet pour vous. Vérifiez que le projet sélectionné comme projet Web client est différent du projet de service Web, sinon le service sera remplacé par les artefacts générés du client. Dans le cas des services Web JAX-WS, le service et le client peuvent partager le même fichier EAR.
    5. Pour créer un client, sélectionnez le type de proxy à générer et répétez les étapes 1 à 4 pour le client. Le client peut être créé ultérieurement en suivant les étapes décrites dans Génération d'un client de service Web à partir d'un document WSDL avec l'environnement d'exécution IBM WebSphere JAX-WS.
    6. Contrôle du service Web : le trafic du service Web est envoyé via le Moniteur TCP/IP, ce qui vous permet de surveiller le trafic SOAP généré par le service Web et de tester la conformité de ce trafic à la norme WS-I. Vous pouvez aussi configurer manuellement un moniteur TCP/IP comme décrit dans la rubrique Utilisation du moniteur TCP/IP pour tester les services Web.
  5. Configuration d'un service Web ascendant WebSphere JAX-WS :
    • Nom de la classe déléguée : entrez le nom de classe de l'implémentation Java déléguée ou acceptez la valeur par défaut. La classe déléguée est un encapsuleur qui contient toutes les méthodes du bean Java ainsi que l'annotation JAX-WS que l'environnement d'exécution reconnaît comme service Web. Elle est générée dans le même package que le bean d'origine.
    • Style de mappage Java vers WSDL : le style définit le style de codage pour les messages envoyés au service Web et depuis le service Web. Le style de paramètre détermine si les paramètres de la méthode représentent le corps du message en entier ou s'ils sont transmis sous forme d'éléments encapsulés dans un élément de niveau supérieur dont le nom est tiré de celui de l'opération. Les combinaisons valides sont RPC, Document encapsulé et Document non encapsulé.
    • Générer des annotations @WebParam pour les paramètres de méthode : si vous sélectionnez cette case à cocher, les paramètres qui se trouvent dans une déclaration de méthode sont associés à l'annotation @WebParam définie pour les arguments respectifs. L'annotation @WebParam personnalise le mappage d'un paramètre individuel vers un élément XML ou une partie de message de service Web. Pour plus de détails sur l'annotation @WebParam, recherchez javax.jws.WebParam dans la rubrique relative aux annotations JAX-WS disponible dans le centre de documentation de WebSphere Application Server.
      Conseil : Vous pouvez activer cette option par défaut dans la page des préférences en sélectionnant Fenêtre > Préférences > WebSphere > Génération de code JAX-WS dans la barre d'outils. Sélectionnez la case à cocher Générer des annotations @WebParam pour les paramètres de méthode dans la section Ascendant.
    • Activer la liaison SOAP 1.2 : si vous ne sélectionnez pas cette option, des liaisons SOAP 1.1 seront utilisées. Pour des informations sur les différences entre SOAP 1.1 et 1.2, voir la présentation de SOAP.
    • Activer le support MTOM : si vous cochez cette case, le mécanisme SOAP MTOM (Message Transmission Optimization Mechanism) sera utilisé pour optimiser la transmission des contenus binaires. Pour plus d'informations sur MTOM, voir la présentation de MTOM.
    • Générer un fichier WSDL dans le projet : étant donné que les annotations dans la classe déléguée sont utilisées pour indiquer à l'environnement d'exécution que le bean est un service Web, un fichier WSDL statique n'est plus généré dans votre projet automatiquement. L'environnement d'exécution peut générer dynamiquement un fichier WSDL à partir des informations dans le bean. Sélectionnez cette option pour générer un fichier WSDL statique pour le service Web. Cette option est pratique si vous prévoyez de créer le client ultérieurement ou de publier le fichier WSDL pour d'autres utilisateurs. Vous pouvez configurer le fichier WSDL dans la page suivante de l'assistant.
    • Générer un descripteur de déploiement de service Web : pour les services Web JAX-WS, les informations de déploiement sont générées dynamiquement par l'environnement d'exécution ; les descripteurs de déploiement statiques ne sont plus indispensables. Si vous sélectionnez cette case à cocher, ils sont tout de même générés.
    • Autoriser les extensions de fournisseurs tiers : si vous sélectionnez cette case à cocher, l'option -extension est ajoutée à la commande wsgen ou wsimport. L'option -extension indique si des extensions personnalisées doivent être activées ou acceptées pour les fonctionnalités qui ne sont pas définies par la spécification JAX-WS. L'utilisation des extensions peut donner lieu à des applications non portables ou non interopérables avec d'autres implémentations. Pour des détails, voir les rubriques Commande wsgen pour les applications JAX-WS et Commande wsimport pour les applications JAX-WS disponibles dans le centre de documentation de WebSphere Application Server.
    Remarque : Si le bean comporte déjà une annotation @javax.jws.WebService, la plupart des zones de cette page sont désactivées car l'assistant n'a pas besoin de générer un bean délégué pour vous. Vous pouvez opter pour la génération d'un fichier WSDL seulement. Si vous n'avez ajouté que l'annotation @javax.jws.WebService à votre bean Java et voulez activer d'autres options telles que la liaison SOAP 1.2 ou MTOM, vous devez quitter l'assistant et supprimer l'annotation ou continuer de créer 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é.
  6. Page de configuration d'interface WSDL WebSphere JAX-WS : Si, dans la page précédente, vous avez choisi de générer un fichier WSDL, cette page s'affiche et vous permet de configurer le fichier WSDL généré. Vous pouvez configurer :
    • L'espace de nom cible WSDL
    • Le nom de service WSDL
    • Le nom de port WSDL
  7. Page Tester le service Web : si vous avez choisi de tester le service Web, sélectionnez la fonction de test pour le service Web généré et cliquez sur Lancer. Le service Web s'ouvre dans l'explorateur de services Web ou le client de service générique. Sélectionnez l'opération à tester, entrez les informations requises, puis cliquez sur OK. Le résultat s'affiche dans le volet Statut. Cliquez sur Suivant.
  8. Page de configuration d'un client de service Web WebSphere JAX-WS : si vous avez choisi de générer un client, vous pouvez spécifier les options suivantes pour le client dans cette page :
    • Dossier de sortie : Il s'agit de l'emplacement où le code client est généré.
    • Package cible : l'assistant du client de service Web génère plusieurs fichiers Java. Par défaut, il crée un package dont le nom repose sur l'espace de nom spécifié dans le fichier WSDL. Vous pouvez toutefois spécifier votre propre nom de package.
    • Générer un client portable : si vous sélectionnez cette case à cocher, vous pouvez déplacer le code de votre client de service Web d'une machine à une autre ou d'une instance de WebSphere Application Server à une autre. Si cette option est sélectionnée, le document WSDL et le schéma XML ainsi que tous les autres documents WSDL dont il dépend sont copiés dans le projet de client sous WEB-INF/wsdl et un élément file:relativeURL désignant cette copie est injecté dans le bloc d'initialisation statique de la classe de service JAX-WS.
    • Activer l'appel asynchrone pour le client généré : si vous choisissez d'activer un client asynchrone, pour chaque méthode du service Web, deux méthodes supplémentaires sont créées. Il s'agit de méthodes d'interrogation et de rappel qui permettent au client de fonctionner en mode asynchrone.
    • Spécifier des fichiers de liaisons JAX-WS ou JAXB : si vous avez créé des fichiers de liaisons personnalisées JAX-WS ou JAXB, cochez cette case pour les utiliser afin de créer le client de service Web. Si cette option est sélectionnée, la page suivante de l'assistant vous permet de parcourir les fichiers de déclarations de liaisons personnalisées.
    • Personnaliser le nom de classe du proxy client : sélectionnez cette case à cocher pour changer le mappage par défaut entre le nom de port et le nom de classe de l'implémentation du service.
  9. Page Déclarations de liaisons personnalisées : si vous avez choisi de spécifier des fichiers de liaisons JAX-WS ou JAXB, vous pouvez rechercher les fichiers dans cette page.
  10. Page Configuration de la génération du proxy : pour chaque port défini, vous pouvez entrer un nom pour la classe de proxy ou accepter la valeur par défaut.
  11. Page Test du client du service Web :
    • Tester le proxy généré : si cette option est sélectionnée, le client exemple est démarré dans un navigateur Web pour que vous puissiez tester la fonctionnalité.
    • Sélectionnez votre fonction de test.Vous pouvez tester le proxy généré dans le client de service générique ou dans l'explorateur de services Web. Vous pouvez aussi opter pour la génération de pages JSP JAX-WS 2.0..
    • Dossier : si vous avez choisi de tester le proxy via une page JSP, vous pouvez sélectionner le dossier dans lequel doit se trouver la page JSP ainsi que les méthodes incluses dans la page JSP.
    • Méthodes : sélectionnez les méthodes à exposer. Si vous avez choisi d'activer l'appel asynchrone, les méthodes asynchrones sont également répertoriées.
    • Exécuter le test sur le serveur : sélectionnez cette option pour que le serveur soit démarré automatiquement.

Résultats

Une fois le service Web créé, les événements suivants se produisent selon les options sélectionnées :
Restriction :

Lors de la génération d'un service Web JAX-WS à partir d'un fichier classe qui dépend d'autres classes qui se trouvent dans des fichiers JAR distincts, le projet doit référencer ces fichiers JAR depuis les dépendances de module Java EE ou les bibliothèques utilisateur. L'utilisation de dépendances de module Java EE est possible lorsque les fichiers JAR se trouvent dans le projet EAR.

Lorsque les fichiers JAR se trouvent dans une bibliothèque partagée configurée dans WebSphere Application Server, vous devez utiliser une bibliothèque utilisateur afin de configurer le projet pour le développement avant de générer le service Web. Pour ajouter une bibliothèque utilisateur au projet :
  1. Cliquez avec le bouton droit de la souris sur le projet et cliquez surPropriétés > Chemin de génération Java > Bibliothèques.
  2. Cliquez sur Ajouter une bibliothèque > Bibliothèque utilisateur > Bibliothèques utilisateur.
  3. Créez une bibliothèque utilisateur et ajoutez-y votre fichier jar d'utilitaire.
Icône indiquant le type de rubrique Rubrique de tâche
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : twsbeanjaxws.html