Comment générer des classes java à partir d'un fichier WSDL


Je travaille vers une application Android. J'ai besoin d'utiliser un service Web. J'ai un fichier wsdl mais je veux le convertir en java afin de pouvoir utiliser ses fonctions dans mes programmes Java. Est-il possible de convertir un fichier wsdl en Java?

Author: GEOCHET, 2011-08-03

8 answers

Oui, vous pouvez utiliser:

Wsdl2java eclipse plugin

Avec cela, tout ce dont vous aurez besoin est de fournir le wsdl, et le client qui est les classes Java sera automatiquement généré pour vous.

 26
Author: Oscar Gomez, 2011-08-03 00:13:27

Juste pour générer les classes java à partir de wsdl pour moi le meilleur outil est "cxf wsdl2java". C'est assez simple et facile à utiliser. J'ai trouvé des complexités avec certains types de données dans axis2. Mais malheureusement, vous ne pouvez pas utiliser ce code client dans votre application Android car l'environnement Android n'autorise pas le nom du package "java/javax" au moment de la compilation, sauf si vous renommez le nom du package.

Et dans l'androïde.jar tout le javax.* les sources de consommation de services Web ne sont pas disponible. Pour résoudre ces problèmes, j'ai développé cet outil de génération de clientsWS pour Android.

En arrière-plan, il utilise "cxf wsdl2java" pour générer le talon du client java pour la plate-forme Android pour vous, Et j'ai écrit quelques sources pour consommer le service Web de manière plus intelligente.

Donnez simplement l'emplacement du fichier wsdl, il vous donnera les sources et une bibliothèque. vous devez simplement mettre les sources et les bibliothèques dans votre projet. et vous pouvez simplement l'appeler dans un " appel de méthode mode " juste nous faisons dans notre projet d'entreprise, vous n'avez pas besoin de connaître l'espace de noms/action soap etc. Par exemple, vous avez un service pour vous connecter, ce que vous devez faire est:

LoginService service = new LoginService ( );
Login login = service.getLoginPort ( );
LoginServiceResponse resp = login.login ( "someUser", "somePass" );

Et c'est entièrement ouvert et gratuit.

 12
Author: Asraful Haque, 2017-05-23 12:09:44

Jdk 6 est livré avec wsimport que vous pouvez utiliser pour créer des classes Java à partir d'un WSDL. Il crée également une classe de service.

Http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

 8
Author: Patrick P, 2013-11-26 11:25:09

J'ai fondé un excellent outil pour analyser automatiquement et se connecter aux services Web

Http://www.wsdl2code.com

Http://www.wsdl2code.com/pages/Example.aspx

 SampleService srv1 = new SampleService();
     req = new Request();                     
     req.companyId = "1";
     req.userName = "userName";                                     
     req.password = "pas";
     Response response =    srv1.ServiceSample(req);
 5
Author: Bennya, 2013-01-29 19:58:38

En Supposant que vous avez JAXB installé Allez dans le répertoire suivant C:\Program Fichiers\jaxb \ bin ouvrir la fenêtre de commande ici

> xjc-wsdl http://localhost/mywsdl/MyDWsdl.wsdl C:\Users\myname\Desktop

C:\Users\myname\Desktop est le dossier de sortie que vous pouvez changer à votre préférence

Http://localhost/mywsdl/MyDWsdl.wsdl est le lien vers le WSDL

 5
Author: George Otieno, 2015-05-06 13:25:00

Vous pouvez utiliser le plugin eclipse comme suggéré par Oscar plus tôt. Ou si vous êtes une personne en ligne de commande, vous pouvez utiliser l'outil Apache Axis WSDL2Java à partir de l'invite de commande. Vous pouvez trouver plus de détails ici http://axis.apache.org/axis/java/reference.html#WSDL2JavaReference

 4
Author: Vini, 2016-07-14 01:27:39

Vous pouvez utiliser l'assistant WSDL2JAVA Codegen (ou)Vous pouvez simplement utiliser l'assistant ' Web Service/WebServiceClient' disponible dans l'EDI Eclipse. Ouvrez l'EDI et appuyez sur 'Ctrl + N', selectfor' Web Service/WebServiceClient ', spécifiez l'URL wsdl, le dossier ouput et sélectionnez terminer.

Il crée les fichiers source complets dont vous auriez besoin.

 2
Author: Anuj Balan, 2011-08-03 11:17:33

J'ai un service Web WCF assez complexe et j'ai essayé quelques outils différents, mais dans la plupart des cas, je ne pouvais pas me connecter à mon service Web. Enfin, j'ai utilisé celui-ci:

Http://easywsdl.com/

Ce n'est qu'un outil qui génère des classes qui fonctionnent sans AUCUN changement!

 2
Author: robocik, 2013-11-13 06:41:27