经过大量研究后,我得出的结论是,不幸的是,没有这样的(成熟的)工具可用。AXIS2或JAX-
WS都无法在Android上运行,而WSDL2ksoap对于任何实际使用而言都太不成熟。
但是,有一个名为wsclient
++的专有工具可以很好地完成这项工作。(请阅读下面的更新,当它投入实际使用时,它根本无法与众不同。)它不使用ksoap2-android客户端库,它拥有自己的库。
客户端库有点粗糙,因为它对http传输有严格的依赖性,从而使(单元)测试变得有些复杂。但是可以很容易地对其进行修改以允许DI,因为该源在分布式jar文件中可用。
从wsdl到java生成器的工作原理非常完美,可以节省大量时间。
更新 使用
wsclient++一段时间后,很明显,生成的类确实很粗糙,并且根本不处理错误情况。(每个方法都声明
throwsException)。
我们不再使用wsclient ++,并且我不建议任何人使用它! 不幸的是,我们还没有真正找到任何可行的选择。:/
最后,我们使用AXIS2转换了WSDL文件,然后编写了一堆自定义脚本来剥离并将生成的Java文件转换为将使用ksoap2-android库在android上构建的文件。非常骇人,需要大量的体力劳动才能运行。不幸。如果您找到更好的方法,或者想出一个办法,请提供一个新的答案。



