Commande wsgen pour les applications JAX-WS

L'outil de ligne de commande wsgen génère les artefacts nécessaires requis pour les applications JAX-WS (Java™ API for XML Web Services) lors du démarrage à partir du code Java. Les artefacts générés sont compatibles avec Java 5, ce qui les rend portables sur différentes versions et plateformes Java.

Lors de l'utilisation d'une approche ascendante pour développer des services Web JAX-WS et que vous démarrez à partir d'une implémentation de noeud final de service, utilisez l'outil wsgen pour générer les artefacts JAX-WS requis.

Configurations prises en charge Configurations prises en charge: Les outils de ligne de commande wsimport, wsgen, schemagen et xjc ne sont pas pris en charge sur la plateforme z/OS. Leur fonctionnalité est assurée par les outils d'assemblage fournis avec WebSphere Application Server s'exécutant sur la plateforme z/OS. Pour plus d'informations sur ces outils de ligne de commande, reportez-vous aux outils de ligne de commande pour les applications JAX-WS.sptcfg
Pratiques recommandées Pratiques recommandées: WebSphere Application Server fournit des outils JAX-WS (Java API for XML-Based Web Services) et JAXB (Java Architecture for XML Binding). Les outils de ligne de commande wsimport, wsgen, schemagen et xjc se trouvent dans le répertoire app_server_root\bin\ de WebSphere Application Server Traditional.Les commandes xjc et schemagen se trouvent dans le répertoire app_server_root\jaxb\bin\ du profil Liberty. Il peut arriver que les artefacts générés par les outils fournis par WebSphere Application Server et le kit de développement Java SE prennent en charge les mêmes niveaux de spécifications. En général, les artefacts générés par les outils JDK sont compatibles avec d'autres environnements d'exécution conformes. Toutefois, il est recommandé d'utiliser les outils fournis avec ce produit pour effectuer une intégration transparente au sein de l'environnement WebSphere Application Server et pour bénéficier des fonctions qui peuvent être prises en charge uniquement dans WebSphere Application Server. Pour profiter des outils JAX-WS et JAXB V2.2, utilisez les outils fournis avec le serveur d'applications qui se trouvent dans le répertoire racine_serveur_app\bin\.bprac
Remarque : Vous pouvez utiliser les outils de ligne de commande wsimport , wsgen, schemagen et xjc avec Liberty et WebSphere Application Server Traditional.
L'outil wsgen accepte une implémentation de noeud final service correctement annotée à l'aide de l'annotation @WebService en entrée et génère les artefacts suivants :
  • Toute classe JAXB (Java Architecture for XML Binding) supplémentaire requise pour assembler et désassembler les contenus d'un message.
  • Un fichier WSDL, si l'argument -wsdl facultatif est spécifié. L'outil wsgen ne génère pas automatiquement le fichier WSDL.

Lorsque vous utilisez les outils JAX-WS V2.2, les références java.lang.RuntimeException et java.rmi.RemoteException et leurs sous-classes ne sont plus mappées dans le fichier WSDL. Ce changement de comportement répond à la règle de conformité à la spécification JAX-WS V2.1 décrite à la section 3.7 de celle-ci. Cette règle de conformité spécifie que les classes java.lang.RuntimeException et java.rmi.RemoteException et leurs sous-classes ne peuvent pas être traitées comme des exceptions spécifiques à un service ni mappées dans le fichier WSDL.

Outre l'utilisation des outils à partir de la ligne de commande, vous pouvez appeler ces outils JAX-WS à partir de l'environnement de construction Ant pour WebSphere Application Server Traditional. Utilisez la tâche Ant com.sun.tools.ant.WsGen à partir de l'environnement de génération Ant pour appeler l'outil wsgen. Pour fonctionner correctement, la tâche Ant doit être appelée par le script ws_ant.

Eviter les incidents Eviter les incidents: La commande wsgen ne différencie pas l'espace de nom XML dans plusieurs annotations XMLType ayant le même nom @XMLType défini dans différents packages Java. Dans ce cas, l'erreur suivante s'affiche :
L'erreur indique que deux classes ont le même nom de type XML.
Utilisez @XmlType.name et @XmlType.namespace pour leur affecter des noms différents.
Cette erreur signale que des noms de classes ou des valeurs @XMLType.name sont identiques mais se trouvent dans différents packages Java. Pour éviter cette erreur, ajoutez la classe espace de nom @XML.Type. à l'annotation @XMLType afin de faire la différence entre les types XML.gotcha

Dans le cas des applications JAX-WS, il est possible que l'outil de ligne de commande wsgen ne parvienne pas à localiser les fichiers des classes partagées dans le profil complet. Vous pouvez spécifier l'emplacement de ces fichiers de classe à l'aide de la propriété personnalisée com.ibm.websphere.webservices.WSDL_Generation_Extra_ClassPath. Pour plus d'informations, consultez la documentation relative aux propriétés personnalisées de la machine virtuelle Java.

Syntaxe

La syntaxe de ligne de commande est la suivante :

[Windows]
racine_serveur_app\bin\wsgen.bat [options] classe_implémentation_service
[AIX][HP-UX][Linux][Solaris]
racine_serveur_app/bin/wsgen.sh [options] classe_implémentation_service
[IBM i]
racine_serveur_app/bin/wsgen [options] classe_implémentation_service

Paramètres

Le nom classe_implémentation_service est le seul paramètre obligatoire. Les paramètres suivants sont facultatifs pour la commande wsgen :

-classpath <chemin>
Indique l'emplacement de la classe d'implémentation de service.
-cp <chemin>
Indique l'emplacement de la classe d'implémentation de service. Ce paramètre est identique à -classpath <chemin>.
-d <répertoire>
Indique l'emplacement dans lequel stocker les fichiers de sortie générés.
-extension
Indique si des extensions personnalisées doivent être autorisées pour les fonctionnalités non 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.
-help
Affiche le menu d'aide.
-keep
Indique si les fichiers source générés doivent être conservés.
-r <répertoire>
Ce paramètre n'est utilisé qu'avec le paramètre -wsdl. Indique l'emplacement dans lequel stocker le fichier WSDL généré.
-s <répertoire>
Indique le répertoire dans lequel placer les fichiers source générés.
-verbose
Indique les messages de sortie identifiant l'opération en cours du compilateur.
-version
Imprime les informations de version. Si vous spécifiez cette option, seules les informations de version sont générées et le traitement normal des commandes n'a pas lieu.
-wsdl [:protocole]
Par défaut, wsgen ne génère pas de fichier WSDL. Ce paramètre facultatif permet à wsgen de générer un fichier WSDL et ne sert qu'à permettre à un développeur d'examiner un fichier WSDL avant le déploiement du noeud final. Le protocole est facultatif et indique le protocole utilisé dans wsdl:binding. Les valeurs admises pour protocole sont soap 1.1 et Xsoap 1.2. La valeur par défaut est soap 1.1. La valeur Xsoap 1.2 n'est pas standard et n'est utilisée qu'avec l'option -extension.
-servicename <nom>
Ce paramètre n'est utilisé qu'avec l'option -wsdl. Indique un nom wsdl:service à générer dans le fichier WSDL. Par exemple,
-service name "{http://mynamespace/}MyService"
-portname
Ce paramètre n'est utilisé qu'avec l'option -wsdl. Indique un nom wsdl:port à générer dans le fichier WSDL. Par exemple,
-portname "{http://monespacenom/}Monport"

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsgen
Nom du fichier : rwbs_wsgen.html