Commande wsimport pour les applications JAX-WS

L'outil de ligne de commande wsimport traite un fichier WSDL (Web Services Description Language) existant et génère les artefacts requis pour le développement des applications de service Web JAX-WS (API Java™ des services Web XML). Les artefacts générés sont compatibles avec Java 5, ce qui les rend portables sur différentes versions et plateformes Java.

L'outil de ligne de commande wsimport prend en charge l'approche ascendante pour le développement de services Web JAX-WS. Lorsque vous démarrez à l'aide d'un fichier WSDL existant, utilisez l'outil de ligne de commande wsimport 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 wsimport lit un fichier WSDL existant, puis génère les artefacts suivants :
  • Interface SEI (Service Endpoint Interface) : Il s'agit de la représentation Java annotée du fichier WSDL pour le service web. Cette interface permet d'implémenter des noeuds finaux JavaBeans ou de créer des instances de client Dynamic Proxy.
  • Classe d'extension javax.xml.ws.Service : Il s'agit d'une classe générée qui permet l'extension de la classe javax.xml.ws.Service. Cette classe sert à configurer et créer des instances proxy et dispatch dynamiques.
  • Beans de données obligatoires, y compris tous les beans JAXB (Java Architecture for XML Binding) requis pour la modélisation des données de service web.
Vous pouvez mettre en forme, dans un fichier WAR (web application archive) les artefacts générés, à l'aide du fichier WSDL et des documents de schéma ainsi que l'implémentation de noeud final à déployer.
Configurations prises en charge Configurations prises en charge: Pour utiliser correctement l'outil wsimport, vous devez respecter les exigences suivantes :
  • Vous devez définir tous vos services dans le fichier WSDL principal. Les services définis dans un fichier WSDL importé ne sont pas traités par l'outil wsimport.
  • Si vous exécutez l'outil wsimport sur un fichier WSDL implémentant un modèle de style Document ou Littéral, les éléments complexTypes qui définissent les types d'entrée et de sortie doivent comporter des noms uniques afin d'éviter des conflits dans la liste de paramètres pour l'opération.
  • Si vous exécutez l'outil wsimport et prenez un URI (Uniform Resource Identifier) ?wsdl en tant que paramètre pour un fichier WSDL, vérifiez que vous employez l'URI WSDL résolu. Dans le profil complet, l'outil wsimport résout correctement l'URI ?wsdl, mais pas forcément d'autres URI liés auxquels il est fait référence. Dans le profil Liberty, l'outil wsimport résout correctement l'URI ?wsdl, ainsi que d'autres URI liés auxquels il est fait référence.
sptcfg

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.ws.ant.WsImport à partir de l'environnement de génération Ant pour appeler l'outil WsImport. Pour fonctionner correctement, la tâche Ant doit être appelée par le script ws_ant.

Syntaxe

La syntaxe de ligne de commande est la suivante :

[Windows]
racine_serveur_app\bin\wsimport.bat [options] WSDL_URI
[AIX][HP-UX][Linux][Solaris]
racine_serveur_app/bin/wsimport.sh [options] WSDL_URI
[IBM i]
racine_serveur_app/bin/wsimport [options] WSDL_URI

Paramètres

URI_WSDL est le seul paramètre obligatoire. Les paramètres suivants sont facultatifs pour la commande wsimport :

-b <chemin>
Indique les fichiers de liaisons JAX-WS ou JAXB. Vous pouvez spécifier plusieurs fichiers de liaisons JAX-WS et JAXB à l'aide de l'option -b. Cependant, chaque fichier doit être spécifié avec sa propre option -b.
-B <optionJaxb>
Indique que cette option doit être transmise au compilateur de schéma JAXB.
-catalog
Indique le fichier catalogue permettant la résolution des références d'entité externes. Il prend en charge les formats de catalogue TR9401, XCatalog et OASIS XML.
-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 admises pour les fonctionnalités non définies par la spécification JAX-WS. L'utilisation des extensions personnalisées peut donner lieu à des applications non portables ou non interopérables avec d'autres implémentations.
-help
Affiche le menu d'aide.
-httpproxy:<hôte>:<port>
Indique un proxy HTTP. La valeur de port par défaut est 8080.
-keep
Indique si les fichiers source générés doivent être conservés.
-p <nom_package>
Indique un package cible à l'aide de cette option de ligne de commande et remplace toute personnalisation de liaison de schéma et de fichier WSDL pour le nom de package et l'algorithme de nom de package par défaut défini dans la spécification JAX-WS.
-quiet
Indique de supprimer la sortie wsimport.
-s <répertoire>
Indique le répertoire dans lequel placer les fichiers source générés.
-target <version>
Indique de générer un code compatible avec un niveau de spécification JAX-WS particulier. Spécifiez la version 2.0 ou 2.1 pour générer du code compatible avec la spécification JAX-WS 2.0 ou JAX-WS 2.1 respectivement. La spécification de la version 2.1 indique que le code à générer doit être compatible avec la spécification JAX-WS 2.1. La valeur par défaut est la version 2.2 et génère un code compatible pour la spécification JAXB 2.2.
L'option target est requise pour le profil Liberty.
-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 de commande normal n'a pas lieu.
-wsdlLocation
Indique la valeur @WebServiceClient.wsdlLocation.
Configurations prises en charge Configurations prises en charge: L'outil wsimport ne définit pas la valeur @WebService.wsdlLocation par défaut ou lorsque l'attribut -wsdlLocation est indiqué. L'outil de ligne de commande wsimport met uniquement à jour l'annotation @WebServiceClient.wsdlLocation. Vous pouvez mettre manuellement à jour l'annotation @WebService.wsdlLocation avec une URL relative indiquant l'emplacement du fichier WSDL (Web Services Description Language). Si l'annotation @WebService.wsdlLocation se trouve dans une classe d'implémentation de noeud final, la valeur doit être une URL relative et le document WSDL référencé doit être inclus dans l'application.sptcfg
Eviter les incidents Eviter les incidents: Si vous spécifiez une URL HTTPS pour le paramètre -wsdlLocation, l'outil wsimport génère une classe de service avec un constructeur sans argument qui n'est pas valide. Evitez d'instancier votre service à l'aide du constructeur de service sans argument. Transmettez plutôt l'URL HTTPS à l'un des constructeurs de classe de service qui utilise une URL WSDL comme argument, par exemple :
MyService("https://example.ibm.com/My?wsdl");
gotcha
-clientJar
wsimport on service WSDL generates the necessary classes that are needed for web service invocation. But not all the information that is required by the JAX-WS runtime is captured in the SEI or the WebServiceClient through standard web service annotations. The generated class has the location of the WSDL, so that it can retrieve the additional metadata of the service at runtime. However, an extra connection is required just to access the metadata each time a service instance is created, which increases the network usage. By using the -clientJar option for wsimport, the WSDL and schema are automatically downloaded and all the generated client-side artifacts are packaged into a JAR file. Therefore, you can include the generated JAR file by using this new option in the class path and do not need to fetch the WSDLs from the end point each time a service instance is created, thus saving on network usage.

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_wsimport
Nom du fichier : rwbs_wsimport.html