2011-05-09 2 views
7

Je souhaite générer un STUB basé sur android (java) pour accéder à tous les services Web. J'ai essayé générer le stub à l'aide des outils suivants:Génération de stub de services Web + android

1) Sun Java (TM) sans fil Toolkit 2.5.2_01 pour CLDC,

2) ksoap2 génératrice-bout-0,1-snapshot-J2ME Android.

Mais j'ai été incapable de générer un bout approprié qui peut être utilisé. Veuillez suggérer toute bibliothèque ou outil que vous avez utilisé à cette fin.

merci !!

N'importe qui ici !!

Mise à jour:

problème avec le soleil java lib: Il y a quelques libs java qui ne sont pas pris en charge par Android. Pour exemple: « javax.microedition.xml.rpc.Operation », etc.

problème avec ksoap2: obtenir une exception de pointeur nul avec connexion suivant dans l'invite de commande:

commande

que je lance à l'aide invite de commande Windows :

java -cp ksoap2-generating-stub-0.1-SNAPSHOT-jar-with- 
dependencies.jar;"%JAVA_HOME%\lib\tools.jar" 
ksoap2.generator.Wsdl2Android -w "http://localhost:8080/Ws2Ksoap/ 
services/HelloWorld?wsdl" -g .\generated 

dès que je cours ce code, je reçois une exception près:

Exception in thread "main" java.lang.NullPointerException 
     at ksoap2.generator.WsCompiler.compile(WsCompiler.java:86) 
     at ksoap2.generator.WsCompiler.run(WsCompiler.java:78) 
     at ksoap2.generator.Wsdl2J2me.run(Wsdl2J2me.java:116) 
     at ksoap2.generator.Wsdl2Android.main(Wsdl2Android.java:41) 

Une autre mise à jour: Les services Web créés ne doivent pas utiliser une instance de package java.rmi. *.

+0

Pourquoi ne pas simplement le programmer? –

+0

Il y a beaucoup d'appels API et beaucoup de types de collection personnalisés. Il me faudra beaucoup plus de temps pour coder tous ces api moi-même. – mudit

+0

donc vous avez un fichier wsdl ou quelque chose et vous voulez générer un talon afin que votre programme Android peut invoquer les méthodes de service Web? – kharles

Répondre

2

avez-vous inclus le fichier ksoap2 jar à votre projet ...? J'avais fait et exemple de webservice en utilisant ksoap2 et l'ai réussi. J'avais utilisé et service en ligne de www.w3schools.com, les détails du service Web sont les suivants ....

soap_action = "http://tempuri.org/CelsiusToFahrenheit"; method_name = "CelsiusToFahrenheit"; namespace = "http://tempuri.org/"; url = "http://www.w3schools.com/webservices/tempconvert.asmx";

espère que cela aidera you.Good chance

+0

Salut Jannat, Pouvez-vous donner des exemples de liens ou un tutoriel OU peut-être un exemple de code? Ce sera vraiment utile. – mudit

+0

www.vimeo.com/9633556 cela va sûrement vous aider ... –

+3

merci pour la vidéo. Mais ce n'est pas quelque chose que je cherche. Je cherche ceci: J'ai un fichier WSDL qui contient quelques méthodes (qui retournent un objet complexe). Maintenant, je veux générer du code Java en utilisant certains outils que je peux utiliser pour accéder à ces méthodes. – mudit

2

Cette exception est survenue parce que vous exécutez java à partir JRE, mais il recherche un compilateur et ne peut pas le trouver. Utilisez java.exe à partir de JDK, comme ceci:

"c:\Program Files\Java\jdk1.6.0_20\bin\java.exe" -cp ksoap2-generating-stub-0.1-SNAPSHOT-jar-with-dependencies.jar;"%JAVA_HOME%\lib\tools.jar" ksoap2.generator.Wsdl2Android -w "http://address/Service.svc?wsdl" -g .\generated 
1

Il y a http://easywsdl.com générateur. Il utilise la bibliothèque ksoap2 et prend en charge les types complexes (avec héritage), les données dans les attributs, les valeurs d'en-tête et les extensions WCF comme le type de données Guid et le contrat de données avec l'attribut IsReference.

Questions connexes