Création d'un service Web Java : Option 2

Les services Web Application Developer Rational vous permettent de créer un service Web basé sur une classe Java.

Remarque : Avant de tenter une migration avec cette méthode, consultez les informations disponibles sur le site suivant : http://publib.boulder.ibm.com/infocenter/rtnl0600/topic/ com.ibm.etools.webservice.was.creation.ui.doc/tasks/twsbeanw.html
Remarque : Cette option demande de configurer un environnement d'exécution de service Web dans WebSphere Integration Developer avant d'appeler l'assistant de service Web.
Si vous avez choisi l'approche partant du bas dans WebSphere Studio Application Developer Integration Edition pour générer WSDL sur la base d'une classe Java, procédez comme suit :
  1. Créez un nouveau projet Web et copiez la classe Java sur laquelle vous voulez baser un service dans le dossier source Java de ce projet Web.
  2. Avec le bouton droit, cliquez sur le projet d'application métier qui contient la classe Java sur laquelle le service sera basé.
  3. Sélectionnez Propriétés, accédez aux propriétés Serveur et vérifiez que la zone Environnement d'exécution cible a la valeur WebSphere Process Server v6.0 et que Serveur par défaut correspond au serveur WebSphere Process Server v6.0 installé.
  4. Démarrez le serveur de test et déployez l'application sur ce serveur puis vérifiez que le lancement a réussi.
  5. Ensuite, avec le bouton droit, cliquez sur la classe Java sur laquelle vous voulez baser votre nouveau service puis sélectionnez Services Web > Créer un service Web.
  6. Pour Type de service Web, sélectionnez Service Web de bean Java et décochez l'option Démarrer le service Web dans le projet Web, sauf si vous voulez déployer le service Web immédiatement. Vous pouvez aussi choisir de générer un proxy client. Cliquez sur Suivant.
  7. La classe Java sur laquelle vous avez cliqué apparaît. Cliquez sur Suivant.
  8. Vous devez maintenant configurer les options de déploiement du service. Cliquez sur le bouton Editer. Pour le type de serveur, choisissez WPS Server v6.0 et, pour l'environnement d'exécution du service Web, choisissez IBM WebSphere et J2EE version 1.4. Si vous n'arrivez pas à sélectionner une combinaison valide, reportez-vous à la section "Préparation de la migration" pour plus d'informations sur la migration des projets J2EE vers le niveau v1.4. Cliquez sur OK.
  9. Pour le projet de service, entrez le nom du projet Web. Sélectionnez aussi le projet EAR approprié. Cliquez sur Suivant. Notez que ceci peut demander quelques minutes d'attente.
  10. Dans le volet d'identification du bean Java du service Web, sélectionnez le fichier WSDL qui contiendra les définitions WSDL. Choisissez les méthodes qui seront disponibles dans le service Web et le style/codage approprié (Document/Literal, RPC/Literal, ou RPC/Encoded). Sélectionnez l'option Define custom mapping for package to namespace, puis choisissez un espace de nom uniquement associé à la classe Java en cours de migration pour tous les packages Java utilisés par l'interface de cette classe Java. L'espace de nom par défaut étant associé de façon unique au nom du package, des conflits peuvent se produire si vous créez un autre service Web utilisant les mêmes classes Java. Le cas échéant, renseignez les autres paramètres.
  11. Cliquez sur Suivant. Dans le panneau Web Service package to namespace mapping, cliquez sur le bouton Ajouter. Dans la ligne créée, entrez le nom de package du bean Java, puis ajoutez l'espace de nom personnalisé qui identifie cette classe Java de façon unique. Continuez à ajouter des mappages pour tous les packages Java utilisés par l'interface du bean Java.
  12. Cliquez sur Suivant. Notez que ceci peut demander quelques minutes d'attente.
  13. Cliquez sur Terminer. Après avoir terminé l'assistant, copiez le fichier WSDL généré qui définit le service Java pour le projet de module Business Integration si le projet de service est un utilisateur du service Java. Vous le trouverez dans le projet Web de routeur généré, dans le dossier WebContent/WEB-INF/wsdl. Réactualisez/recompilez le projet de module Business Integration.
  14. Passez dans Business Integration et développez le module puis la catégorie logique Ports de service Web.
  15. Sélectionnez le port créé dans les étapes précédentes et faites-le glisser dans l'éditeur d'assemblage puis sélectionnez Importation avec liaison de services Web. Sélectionnez l'interface WSDL de la classe Java si cela vous est demandé. Le composant SCA qui consommait le composant Java dans la version 5.1 peut maintenant être connecté à cette importation pour terminer les étapes de migration de la reconnexion manuelle.

Notez que l'interface peut être légèrement différente de celle de la version 5.1 et qu'il vous faudra peut-être insérer un composant de médiation d'interface entre le consommateur 5.1 et la nouvelle importation. Pour ce faire, cliquez sur l'outil Connexion dans l'éditeur d'assemblage et connectez le composant source SCA à cette nouvelle importation avec liaison de services Web. Comme les interfaces sont différentes, un message vous indiquera que les noeuds source et cible ont des interfaces différentes. Choisissez de créer un mappage d'interfaces entre le noeud source et le noeud cible. Double-cliquez sur le composant de mappage créé dans Assembly Editor. L'éditeur d'assemblage s'ouvre. Voir le Centre de documentation pour savoir comment créer un mappage d'interfaces.

Si vous avez choisi l'approche partant du bas dans WebSphere Studio Application Developer Integration Edition pour créer des classes Java depuis une définition WSDL, procédez comme suit :
  1. Créez un nouveau projet Web et copiez le fichier WSDL que vous voulez associer au squelette Java du dossier source de ce projet Web.
  2. Avec le bouton droit, cliquez sur le fichier WSDL contenant le type de port à partir duquel vous voulez générer le squelette Java puis sélectionnez Services Web > Générer le squelette de bean Java.
  3. Choisissez le type de service Web Service squelette Web de bean Java et complétez l'assistant.
Une fois l'assistant terminé, vous devez disposer de classes Java qui implémentent l'interface du service et ne dépendent pas des API WSIF.

Commentaires
(C) Copyright IBM Corporation 2005. Tous droits réservés.