Je travaille vers une application Android Android. J'ai besoin d'utiliser un service Web. J'ai un fichier wsdl mais je veux le convertir en Java pour que je peut utiliser ses fonctions dans mes programmes Java. Existe-t-il un moyen de convertir un fichier wsdl en Java?
Oui, vous pouvez utiliser:
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.
Juste pour générer les classes Java de wsdl pour moi, le meilleur outil est "cxf wsdl2Java". C'est assez simple et facile à utiliser. J'ai trouvé quelques complexités avec certains types de données dans axis2. Mais malheureusement vous ne pouvez pas utiliser ces codes de bout de client dans votre Android parce que l'environnement Android n'autorise pas le nom du package "Java/javax" dans le temps de compilation, sauf si vous renommez le nom du package.
Et dans Android.jar, toutes les sources javax. * Pour la consommation de services Web ne sont pas disponibles. Pour résoudre ces problèmes, j'ai développé ceci WS Client Generation Tool pour Android.
En arrière-plan, il utilise "cxf wsdl2Java" pour générer le bout de client Java pour Android pour vous, et j'ai écrit quelques sources pour consommer le service Web dans d'une manière plus intelligente.
Donnez simplement l'emplacement du fichier wsdl, il vous donnera les sources et une bibliothèque. il vous suffit de mettre les sources et les bibliothèques dans votre projet. et vous pouvez simplement l'appeler de la même manière que nous le faisons dans notre projet d'entreprise, vous n'avez pas besoin de connaître l'action namespace/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.
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
j'ai fondé un excellent outil pour analyser automatiquement et me connecter aux services Web
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);
En supposant que vous avez [~ # ~] jaxb [~ # ~] installé Allez dans le répertoire suivant C:\Program Files\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 modifier selon vos préférences
http: //localhost/mywsdl/MyDWsdl.wsdl est le lien vers le WSDL
Vous pouvez utiliser le plugin Eclipse comme suggéré précédemment par Oscar. Ou si vous êtes une personne en ligne de commande, vous pouvez utiliser l'outil Apache Axis WSDL2Java à partir de l'invite de commandes. Vous pouvez trouver plus de détails ici http://axis.Apache.org/axis/Java/reference.html#WSDL2JavaReference
Vous pouvez utiliser le WSDL2Java Codegen (ou) Vous pouvez simplement utiliser le 'Web Service/WebServiceClient' Wizard disponible dans l'IDE Eclipse. Ouvrez le IDE et appuyez sur 'Ctrl + N', sélectionnez pour 'Web Service/WebServiceClient', spécifiez l'URL wsdl, le dossier de sortie et sélectionnez Terminer.
Il crée les fichiers source complets dont vous auriez besoin.
J'ai un service Web WCF assez complexe et j'ai essayé quelques outils différents, mais dans la plupart des cas, je n'ai pas pu me connecter à mon service Web. Enfin, j'ai utilisé celui-ci:
Ce n'est qu'un outil qui génère des classes qui fonctionnent sans aucun changement!