我必须从 Android 应用程序访问现有的 SOAP Web 服务。我已获得一些描述 Web 服务的 WSDL 文件。读一些SO的其他答案 https://stackoverflow.com/questions/297586/how-to-call-soap-web-service-with-android, 它似乎ksoap2-android http://code.google.com/p/ksoap2-android/是关于使用哪个 SOAP 客户端的可行方法。
下一个问题是如何从 WSDL 文件生成所需的 Java 类,这就是我的不足之处。据我所知,有以下选项:
- AXIS2 代码生成器 http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html
- WSDL2ksoap http://code.google.com/p/wsdl2ksoap/
- JAX-WS wsimport 工具 http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
我最初尝试#1,使用 wsdl2code 生成器的 AXIS2 eclipse 插件。该向导确实成功生成了大量 Java 代码,但是它也将我的 Android 项目更改为某种 Web 服务项目,并且我始终无法获得生成的任何内容进行编译,更不用说使用 ksoap2-android 了。有人在这方面取得成功吗?
我无法成功运行 wsdl2ksoap,因为它似乎需要正在运行的 Web 服务,而我当前拥有的只是 WSDL 文件。同样,从阅读网页来看,它似乎是一个处于初始阶段的项目,并没有真正准备好进入黄金时段。
JAX-WS wsimport 我还没有机会尝试。但是我不确定它生成的内容是否适用于 ksoap2-android?
问题:如何从 WSDL 文件生成 Java 文件,以便通过 ksoap2-android SOAP 客户端库在 Android 上使用?
预先非常感谢。
(PS:是的,选择的是 SOAP,它对于 Android 使用而言不是最佳选择,但我无法更改它。)
我发现这个工具可以自动生成 wsdl 到 android 代码,
http://www.wsdl2code.com/example.aspx http://www.wsdl2code.com/example.aspx
这是代码:
public void callWebService() {
SampleService srv1 = new SampleService();
Request req = new Request();
req.companyId = "1";
req.userName = "userName";
req.password = "pas";
Response response = srv1.ServiceSample(req);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)