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.

[z/OS]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.

Meilleur entrainement: Il est recommandé d'utiliser des espaces de noms absolus dans votre WSDL ou votre schéma. Par défaut, l'outil WSDL2Java ne permet pas d'utiliser les espaces de nom relatifs. Ces derniers ont été dépréciés par le XML Plenary Interest Group et l'utilisation d'espaces de nom relatifs entraîne l'échec de la signature numérique XML comme requis par la spécification Canonical XML version 1.0. Cependant, si vous disposez d'un WSDL ou d'un schéma établi qui repose sur des espaces de nom relatifs, dans certains cas spécifiques vous pouvez utiliser la propriété allowRelativeNamespace pour désactiver les restrictions sur l'espace de nom relatif dans l'outil WSDL2Java. Pour plus d'informations, voir la description de la propriété.
Vous pouvez convertir un espace de nom relatif en espace de nom absolu. L'exemple suivant est celui d'un espace de nom relatif :
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

La syntaxe de ligne de commande est la suivante :
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

-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.
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.
- 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
public class Bean {
	public Date x;
}
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 {
	private Calendar x;
	public void setx(Calendar value) (x=value;)
	public Calendar getX() { return 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.
- 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é à unjavax.xml.soap.SOAPElement interface 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 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 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: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.

- 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.