【发布时间】:2011-05-09 12:59:53
【问题描述】:
我想生成一个基于 android(java) 的 STUB 来访问所有的网络服务。我尝试使用以下工具生成存根:
1) 用于 CLDC 的 Sun Java (TM) 无线工具包 2.5.2_01,
2) ksoap2-generating-stub-0.1-SNAPSHOT-J2me-Android。
但我无法生成可以使用的正确存根。请建议您为此目的使用的任何库或工具。
谢谢!!
这里有人!!
更新:
sun java lib 的问题: Android 不支持一些 java lib。例如:“javax.microedition.xml.rpc.Operation”等
ksoap2 的问题:使用以下登录命令提示符获取空指针异常:
我使用 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
只要我运行这段代码,我就会得到以下异常:
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)
另一个更新:创建的网络服务不得使用任何java.rmi.*包的实例。
【问题讨论】:
-
为什么不直接编程呢?
-
有很多 api 调用以及很多自定义集合类型。自己编写所有这些 api 将花费更多时间。
-
所以你有一个 wsdl 文件或其他东西,并且你想生成一个存根,以便你的 android 程序可以调用 Web 服务方法?
-
您在上面提到的 2 个库中遇到了哪些问题?
-
@kharles,感谢您的回复,我尝试使用axis2,但它使用了一些android 不支持的java 类。所以不能那样走..
标签: android web-services ksoap2