Vous pouvez développer un fichier WSDL (Web Services Description
Language) pour décrire les caractéristiques de votre application de services Web
JAX-RPC (Java™ API for XML-based RPC), y compris l'emplacement du
service et comment l'appeler avec un format XML.
Avant de commencer
En fonction du chemin de développement, développez une interface SEI (Service Endpoint Interface) pour une implémentation JavaBeans ou développez une interface SEI à partir d'une implémentation de bean enterprise.
Pourquoi et quand exécuter cette tâche
Vous avez besoin d'un fichier WSDL pour utiliser des services Web. Vous
pouvez développer votre propre fichier WSDL ou en obtenir un d'un fournisseur de services
Web par courrier électronique, par téléchargement
ou via une URL (Uniform Resource Locator). Dans cette documentation, il est supposé que vous créez le vôtre.
Développez
un fichier WSDL en suivant les étapes ci-après.
Procédure
Exécutez la commande de démarrage de Qshell (STRQSH) pour démarrer le QShell.
Mettez à jour la variable d'environnement CLASSPATH de sorte qu'elle contienne l'emplacement de la classe de l'interface SEI (Service Endpoint Interface) et d'autres classes référencées, en entrant par exemple : export -s CLASSPATH=/myapp/myclass.class:/myapp/myjar.jar
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Configurez la classe de l'interface SEI (Service Endpoint Interface)
et les classes référencées dans votre variable CLASSPATH. - Sous Windows, entrez set CLASSPATH="%CLASSPATH%;<liste
des fichiers JAR (Java) et des classes de l'application>".
- Sous UNIX et Linux, entrez export
CLASSPATH="$CLASSPATH:<liste des fichiers JAR et des classes de
l'application>".
- Exécutez la commande Java2WSDL interfaceSEI. Un fichier WSDL nommé interfaceSEI.wsdl est créé.
Configurations prises en charge: L'outil de ligne de commande
Java2WSDL
n'est pas pris en charge sur la plateforme z/OS. Cette fonctionnalité est fournie par les outils
d'assemblage fournis avec la version z/OS du produit. Consultez les informations relatives à l'outil de ligne de commande
Java2WSDL des applications JAX-RPC (Java API for XML-based Remote Procedure Call), pour plus de détails sur cet outil.
sptcfg
- Déplacez le fichier WSDL dans le sous-répertoire META-INF/wsdl si vous
utilisez des EJB (Enterprise JavaBeans).
- Déplacez le fichier WSDL dans le sous-répertoire WEB-INF/wsdl si vous
utilisez JavaBeans.
- Editez le fichier WSDL généré et vérifiez les noms de ses parties. Les parties WSDL portent des noms du type arg_0_0. Modifiez le fichier WSDL
de façon à utiliser les noms réels des paramètres Java.
- (Facultatif) Utilisez l'outil de commande Java2WSDL pour générer des noms de partie de fichier WSDL corrects. Vous pouvez générer et définir les noms de partie corrects automatiquement à l'aide de l'outil de commande Java2WSDL. La génération et la définition des noms de partie s'effectuent en fournissant des
informations supplémentaires à l'outil de ligne de commande Java2WSDL sous la
forme d'une classe d'implémentation Java qui implémente
les mêmes méthodes que l'interface SEI et qui est compilée avec des informations
de débogage activées. Les noms des paramètres sont stockés dans le fichier .class avec les informations de débogage. Si
votre classe d'implémentation est compilée avec l'option de
débogage activée, vous pouvez utiliser la commande Java2WSDL
-implClass implSEI interfaceSEI pour générer un fichier
WSDL ayant les noms de parties appropriés.
Résultats
Un fichier WSDL qui définit les services Web décrits par l'interface SEI.
Exemple
Dans cet exemple, on utilise un fichier JAR nommé AddressBook.jar qui contient
un fichier classe appelé AddressBook.class.
Vous devez ajouter le fichier AddressBook.jar à votre variable CLASSPATH pour créer le fichier WSDL. Le fichier JAR contient une classe d'implémentation d'EJB qui a été compilée avec les
informations de débogage activées. Exécutez la commande Java2WSDL -implClass addr.AddressBookBean
addr.AddressBook pour créer le fichier AddressBook.wsdl.
Que faire ensuite
En fonction de votre chemin de développement, développez des modèles de descripteurs de déploiement de services Web pour JavaBeans ou pour une implémentation de beans enterprise.