【发布时间】:2012-02-25 20:31:22
【问题描述】:
我必须从 Android 应用程序访问现有的 SOAP 网络服务。我得到了一些描述 web 服务的 WSDL 文件。阅读一些other answers here on SO,似乎ksoap2-android 是要走的路,关于使用哪个SOAP 客户端。
接下来的问题是如何从 WSDL 文件生成所需的 Java 类,这就是我的不足之处。据我所知,有以下选项:
我最初尝试#1,使用 AXIS2 eclipse 插件用于 wsdl2code 生成器。该向导确实成功地生成了很多 Java 代码,但是它也将我的 android 项目更改为某种 web 服务项目,而且我永远无法获得任何生成的东西来编译,更不用说使用 ksoap2-android 了。有人在这方面取得成功吗?
我无法成功运行 wsdl2ksoap,因为它似乎需要一个正在运行的 web 服务,而我目前只有 WSDL 文件。同样从浏览网页来看,这似乎是一个处于初期阶段的项目,并没有真正准备好迎接黄金时段。
JAX-WS wsimport 我还没有机会尝试。但是我不确定它生成的内容是否适用于 ksoap2-android?
问题:如何从 WSDL 文件生成 Java 文件,以便在带有 ksoap2-android SOAP 客户端库的 Android 上使用?
非常感谢。
(PS:是的,选择是 SOAP,它不适合 Android 使用,但我无法更改。)
【问题讨论】:
-
您是否成功地从 WSDL for android 生成文件?
-
@Jashan:最后我们使用 AXIS2 转换了 WSDL 文件,然后编写了一堆自定义脚本来剥离生成的 java 文件并将其转换为使用 ksoap2-android 库构建在 android 上的东西.非常hackish,需要大量的体力劳动才能运行。很遗憾。如果您找到更好的方法,请告诉我。 :)
-
谢谢你,如果我找到了我会分享的东西.. :)
-
实际上,现在我可以在 eclipse 中使用项目菜单中的 eclipse webservice 客户端转换 wsdl url 来获取类。
-
希望即将到来。我们正在开发一个使用 ksoap 库的 Android 代码生成器。现在它适用于 WCF 服务,我们编写了一个易于使用的 Eclipse 插件 + 热键,可以轻松刷新。到目前为止,我们没有遇到任何问题,它可以节省数小时编写 ksoap 类的时间
标签: java android soap wsdl ksoap2