Commande WSDL2Java destinée aux applications JAX-RPC
Exécutez leWSDL2Java outil de ligne de commande par rapport au fichier WSDL pour créer des API Java™ et des modèles de descripteur de déploiement.
Le WSDL2Java L'outil de ligne de commande n'est pas pris en charge sur le z/OS® plate-forme. Cette fonctionnalité est assurée par les outils d'assemblage fournis avec WebSphere® Application Server courir sur le z/OS plate-forme.
Un fichier WSDL (Web Services Description Language) décrit un service Web. La spécification JAX-RPC 1.1 (Java API for XML-based Remote Procedure Call) définit un mappage d'API Java qui interagit avec le service Web. Les services Web pour Java Platform, Enterprise Edition ( Java EE ) la spécification définit des descripteurs de déploiement qui déploient un service Web dans un Java EE environnement. 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 remplacer l'espace de noms relatif dans cet exemple par un espace de noms absolu en ajoutant les informations de protocole et d'URI de base :targetNamespace="https://www.sample.com/MyRelNamespace"Syntaxe de ligne de commande
WSDL2Java [arguments] WSDL-URIArguments 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
- -rôle Java EE rôle
- Spécifie le Java EE rôle de développement 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.
- serveur
- Une combinaison d'arguments develop-server et deploy-server.
- -récipient Java EE-récipient
- Indique le Java EE récipient à utiliser. Les arguments valides sont les suivants :
- client
- Indique un conteneur client.
- ejb
- Indique un conteneur d'EJB (Enterprise JavaBeans).
- aucun
- Indique l'absence de conteneur.
- web
- Indique un conteneur Web.
- - répertoire de sortie
- Définit le répertoire principal pour les fichiers émis.
- Fichier de mappage -inputMappingFile
- Spécifie le nom de fichier des services Web pour Java EE fichier de mappage.
- -introspect
- Utilise les beans Java existants avec une nouvelle API de
service Web.
Parfois, 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. Par exemple :
Supposons que nous avons un bean Java existant
Le fichier WSDL définit x surpublic class Bean { public Date x; }xsd:dateTime. Sans l'option -introspect, la commande WSDL2Java génère un bean Java similaire à l'exemple suivant :
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;) } - - chemins classpath
- Définir un autre chemin de classes pour la recherche de classes Java.
- -noDataBinding
- Désactive la liaison des types XML en types Java. Au lieu de cela, chaque type XML est mappé à un
javax.xml.soap.SOAPElementinterface définie par la spécification SOAP with Attachments API for Java (SAAJ).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
SOAPElementSAAJ. Un SOAPElement SAAJ est une représentation générique de l'élément dans le message. Les méthodes surSOAPElementpeuvent être utilisées pour examiner l'élément et ses enfants.Parfois, il est plus approprié d'utiliser le mappage
SOAPElementgénérique de façon exclusive. Pour en savoir plus sur l'utilisation deSOAPElement, consultez les informations sur SOAP avec l'API Attachments pour l'interface Java et les classeurs de données personnalisés pour les applications JAX-RPC. - -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 espace de noms = 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:AddressFetcher2et 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.
- - secondes de délai d'attente
- Spécifie la durée pendant laquelleWSDL2Java La commande attend, en quelques secondes, que le WSDL-URI réponde 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 résolveur-classe
- 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 :
- Filtre
- Utilise une instance de la classe d'implémentation pour toutes les demandes.
- Demande
- Crée une instance de la classe d'implémentation pour chaque demande.
- avec le client
- Crée une instance de la classe d'implémentation pour chaque session.
Autres arguments
- -utilisateur identifiant
- Indique le nom de connexion de l'utilisateur permettant d'accéder à l'URI WSDL.
- -password mot de 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.Évitez les ennuis : Utilisez cette propriété uniquement si vous disposez d'un fichier ou d'un schéma WSDL établi qui repose sur des espaces de noms relatifs et que vous cherchez à interagir avec un ensemble défini de fournisseurs autorisant l'utilisation d'espaces de noms relatifs.
- -debug
- Imprime des informations de débogage.
- Imprime l'argument d'informations de débogage
- Génère des fichiers Java. Les arguments valides sont les suivants :
- IfNotExists, par défaut
- Remplacer
- Non
- -javaSearch
- L'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
- Remplacer
- 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 wsdl nom du service
- 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.