Commande WSDL2Java destinée aux applications JAX-RPC
Exécutez l'outil de ligne de commande WSDL2Java sur le fichier WSDL pour créer des API Java™ et des modèles de descripteur de déploiement.
L'outil de ligne de commande WSDL2Java n'est 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.
Un fichier WSDL (Web Services Description Language) décrit un service Web. La spécification JAX-RPC (Java API for XML-based Remote Procedure Call) définit un mappage d'API Java qui interagit avec le service web. La spécification Web Services for Java EE (Java Platform, Enterprise Edition) définit des descripteurs de déploiement qui déploient un service Web dans un environnement Java EE. La commande WSDL2Java est utilisée avec le fichier WSDL pour créer des API Java et des modèles de descripteur de déploiement en fonction de ces spécifications.

targetNamespace="MyRelNamespace"
.
Vous pouvez changer l'espace de nom relatif de cet exemple en espace de nom absolu en ajoutant les informations sur le protocole et l'URI de base : targetNamespace="http://www.sample.com/MyRelNamespace"
Syntaxe de ligne de commande
WSDL2Java [arguments] WSDL-URI
Arguments requis
- WSDL-URI
Spécifie l'emplacement du fichier WSDL d'entrée à l'aide d'un URI (Universal Resource Identifier). Un chemin de fichier ordinaire peut également être utilisé si le fichier WSDL se trouve dans le système de fichiers local.
Arguments importants
- -role rôle Java EEIndique le rôle de développement Java EE qui identifie les fichiers à générer. Les arguments valides sont les suivants :
- client
Une combinaison d'arguments develop-client et deploy-client.
- deploy-client
Génère les fichiers de liaison pour le déploiement du client.
- deploy-server
Génère les fichiers de liaison pour le déploiement du serveur.
- develop-client (par défaut)
Génère les fichiers pour le développement du client.
- develop-server
Génère les fichiers pour le développement du serveur.
- server
Une combinaison d'arguments develop-server et deploy-server.
- client
- -container conteneur Java EE Indique le conteneur Java EE à utiliser. Les arguments valides sont les suivants :Pour les rôles client (voir l'option -role), l'argument par défaut est none. S'il s'agit d'un rôle serveur, le conteneur doit être ejb ou web. La même option de conteneur doit être utilisée pour le développement et le déploiement.
- client
Indique un conteneur client.
- ejb
Indique un conteneur d'EJB (Enterprise JavaBeans).
- aucun
Indique l'absence de conteneur.
- web
Indique un conteneur Web.
- client
- -output répertoire
Définit le répertoire principal pour les fichiers émis.
- Fichier de mappage -inputMappingFile
Indique le nom du fichier de mappage Web Services for Java EE.
- -introspect
Utilise les beans Java existants avec une nouvelle API de service web.
Dans certains scénarios, il convient d'utiliser des classes Java existantes au lieu de générer de nouvelles classes. L'option -introspect dirige la commande WSDL2Java pour examiner des classes Java existantes lors de la génération de classes. Les classes existantes sont validées selon la spécification JAX-RPC. Exemple :
Supposons que nous ayons un bean Java existant
Le fichier WSDL définit x sur xsd:dateTime. Sans l'option -introspect, la commande WSDL2Java génère un bean Java similaire à l'exemple suivant :public class Bean { public Date x; }
La commande WSDL2Java utilise l'option -introspect pour examiner le bean Java initial et pour générer des classes qui sont compatibles avec des beans Java existants.public class Bean { private Calendar x; public void setx(Calendar value) (x=value;) public Calendar getX() { return x;) }
- -classpath chemins
Définit un autre chemin de classes pour la recherche de classes Java.
- -noDataBinding
Désactive la liaison des types XML en typesJava. Chaque type XML est en fait mappé vers une interface javax.xml.soap.SOAPElement définie par la spécification SAAJ (SOAP with Attachments API for Java).
Le modèle de programmation JAX-WS (Java API for XML Web Services) prend en charge SAAJ 1.2 et 1.3.
Le modèle de programmation JAX-RPC prend en charge SAAJ 1.2.
Les modèles de programmation Java définissent des mappages Java pour un sous-ensemble de types XML. Plusieurs types XML ne peuvent pas être mappés en beans ou primitives Java. Dans ce cas, la commande WSDL2Java mappe le type en un SOAPElement SAAJ. Un SOAPElement SAAJ est une représentation générique de l'élément dans le message. Les méthodes sur SOAPElement peuvent être utilisées pour examiner l'élément et ses enfants.
Parfois, il est plus approprié d'utiliser le mappage SOAPElement générique de façon exclusive. Pour plus d'informations sur l'utilisation de SOAPElement, voir les informations relatives à l'utilisation de l'interface SOAP with Attachments API forJava et les lieurs de données personnalisés pour les applications JAX-RPC.
Pour obtenir la liste complète des normes et spécifications prises en charge, voir les spécifications des services Web et la documentation des API.
- -help
Affiche un message d'aide et quitte.
- -helpX
Affiche un message d'aide pour les options étendues. Les options sont les suivantes :
- -verbose
Affiche les informations relatives au traitement, y compris les noms des fichiers générés.
- -NStoPkg namespace=package
Par défaut, les noms de package sont dérivés automatiquement des chaînes d'espaces nom dans le fichier WSDL. Par exemple, si l'espace de nom est de la forme http://x.y.com ou urn:x.y.com, le package correspondant est com.y.x.
Vous pouvez indiquer votre propre mappage à l'aide de l'argument -NStoPkg que vous pouvez répéter autant de fois que nécessaire, une fois pour chaque mappage d'espace de nom unique. Par exemple, si un espace de nom figure dans le fichier WDSL appelé urn:AddressFetcher2 et que vous souhaitez que les fichiers générés à partir des objets de cet espace de nom résident dans le package samples.addr, fournissez l'argument -NStoPkg "http://urn:AddressFetcher2/"=samples.addr à la commande WSDL2Java.
- -timeout secondes
Spécifie le délai en secondes pendant lequel la commande WSDL2Java attend la réponse de WSDL-URI avant d'abandonner. La valeur par défaut est 45 secondes ; la valeur -1 désactive le délai d'expiration.
- -genResolver
Génère une classe absolute-import resolver. Le but de cette classe est d'enregistrer le contenu des fichiers WSDL importés, utilisés par l'URI WSDL. Cette classe peut être également utilisée par l'environnement d'exécution pour les futures exécutions de la commande WSDL2Java. Cette flexibilité est souhaitable lorsque les fichiers WSDL importés sont éloignés et peuvent être inaccessibles. Si vous utilisez une classe import resolver, un fichier WSDL distant ne peut plus avoir des contenus différents lors de l'exécution comme il pouvait en avoir lors du développement. La classe générée est nommée _AbsoluteImportResolver.java. Cette classe doit être compilée et intégrée avec les autres classes Java générées par la commande WSDL2Java.
- -useResolver classe-résolveur
Indique une classe absolute-import resolver à utiliser pendant l'analyse. Cette classe doit avoir été créée au cours d'une précédente exécution de la commande WSDL2Java à l'aide de l'option -genResolver. Elle doit figurer dans la variable CLASSPATH.
- -deployScope argument Indique comment déployer l'implémentation du serveur. Les arguments valides sont les suivants :
- Application
Utilise une instance de la classe d'implémentation pour toutes les demandes.
- Request
Crée une instance de la classe d'implémentation pour chaque demande.
- Session
Crée une instance de la classe d'implémentation pour chaque session.
- Application
Autres arguments
- -user id
Indique le nom de connexion de l'utilisateur permettant d'accéder à l'URI WSDL.
- -password mot_passe
Indique le mot de passe de connexion de l'utilisateur pour accéder à l'URI WSDL.
- -all
Génère des fichiers Java pour tous les types, même ceux qui ne sont pas référencés.
- -allowRelativeNamespace true ou false
Indique si les restrictions d'espace de nom relatif doivent être ou non désactivées. Si vous spécifiez -allowRelativeNamespace=true, les restrictions sur les espaces de nom relatifs sont désactivées.
Eviter les incidents: N'utilisez cette propriété que si vous avec établi un fichier ou un schéma WSDL qui repose sur des espaces de nom relatifs et que vous cherchez à interagir avec un ensemble de fournisseurs défini qui permet l'utilisation des espaces de nom relatifs.gotcha
- -debug
Imprime des informations de débogage.
- -genJava argument Génère des fichiers Java. Les arguments valides sont les suivants :
- IfNotExists, par défaut
- Overwrite
- Non
- -javaSearch argumentL'option -javaSearch est utilisée avec l'option -genJava. Si l'option -genJava IfNotExists est définie, utilisez l'option -javaSearch pour déterminer comment l'existence d'un fichier est vérifiée.
- File (par défaut) : recherche un fichier dans le répertoire de sortie
- Classpath : recherche une classe dans la variable CLASSPATH
- Both : recherche un fichier dans le répertoire de sortie ou dans une classe définie dans la variable CLASSPATH
- -genXML argument Génère les fichiers .xml et .xmi. Les arguments valides sont les suivants :
- IfNotExists, par défaut
- Overwrite
- Non
- -genImplSer true ou false
Indique que chaque bean Java généré implémente java.io.Serializable. La valeur par défaut est false.
- -genEquals true ou false
Indique que chaque bean Java généré a des méthodes equals et hashCode. La valeur par défaut est false.
- -noWrappedOperations
Désactive la détection des opérations encapsulées. Des beans Java pour les messages de demande et de réponse sont générés.
- -noWrappedArrays
Désactive la détection des tableaux encapsulés.
- -fileNStoPkg nom de fichier
Spécifie le fichier d'espace de nom pour inclure des mappages. La valeur par défaut est NStoPKG.properties.
- service nom de service wsdl
Génère les fichiers pour le service WSDL installé uniquement.
- -testCase
Génère le modèle pour un scénario de test JUnit portant sur des services Web. JUnit est un cadre simple permettant d'écrire des tests réitérables.