我必须从Android应用程序访问现有的SOAP。
接下来的问题是如何从WSDL文件生成所需的Java类,这就是我要讲的地方。据我所知,有以下几种选择:
我最初尝试使用wsdl2code生成器的AXIS2
eclipse插件尝试#1。该向导确实成功生成了许多Java代码,但是它也将我的android项目更改为某种Web服务项目,而且我始终无法获得生成的任何内容进行编译,更不用说使用ksoap2-android了。有人成功吗?
我似乎无法正常运行wsdl2ksoap,因为它似乎需要运行中的Web服务,而我目前所拥有的只是WSDL文件。同样,从阅读网页来看,这似乎是一个处于初始阶段的项目,并且还没有真正准备好迎接黄金时段。
JAX-WS wsimport我还没有机会尝试。但是我不确定它生成的内容是否可以与ksoap2-android一起使用?
问:如何从WSDL文件生成Java文件,以便在Android上与ksoap2-android SOAP客户端库一起使用?
非常感谢。
(PS:是的,选择是SOAP,对于Android使用来说不是最佳选择,但是我无法更改。)
经过大量研究后,我得出的结论是,不幸的是,没有这样的(成熟的)工具可用。AXIS2或JAX-
WS都无法在Android上运行,而WSDL2ksoap对于任何实际使用而言都太不成熟。
但是,有一个名为wsclient
++
的专有工具可以很好地完成这项工作。(请阅读下面的更新,当它投入实际使用时,它根本无法与众不同。)它不使用ksoap2-android客户端库,它拥有自己的库。
客户端库有点粗糙,因为它对http传输有严格的依赖性,从而使(单元)测试变得有些复杂。但是可以很容易地对其进行修改以允许DI,因为该源在分布式jar文件中可用。
从wsdl到java生成器的工作原理非常完美,可以节省大量时间。
更新 使用wsclient++
一段时间后,很明显,生成的类确实很粗糙,并且根本不处理错误情况。(每个方法都声明throwsException
)。
我们不再使用wsclient ++,并且我不建议任何人使用它! 不幸的是,我们还没有真正找到任何可行的选择。:/
最后,我们使用AXIS2转换了WSDL文件,然后编写了一堆自定义脚本来剥离并将生成的Java文件转换为将使用ksoap2-android库在android上构建的文件。非常骇人,需要大量的体力劳动才能运行。不幸。如果您找到更好的方法,或者想出一个办法,请提供一个新的答案。
我有一个问题,在我的应用程序Android中使用soap请求。我使用Ksoap2库。这是我的代码: }
我试图从WSDL生成web服务客户机,我对这一点一无所知,所以无法找出错误。我试过: 这给了我一个错误: 我还尝试了apache cxf 3.1.1在eclipse中生成Web服务客户端,但得到这个错误: 我的WSDL文件是: 请帮我找出任何方式的错误,无论是wsimport还是apache cxf。我会非常感激的。
尝试在Eclipse中使用向导/web服务/web服务客户机从现有服务器生成web服务客户机时。Net Web服务的WSDL,我遇到了以下错误:“向导WSDL验证已禁用。”,向导无法继续返回主页,因为:找不到服务器,并且WebServiceProject不存在。选择现有项目或使用首选项配置服务器运行时。我能做些什么来解决这个问题?谢谢
问题内容: 我有一个带有“逻辑”类的包(例如CheckAuthenticationDataLogic.java,GetVocabulariesLogic.java)。还有另一个类- ApiService.java用于生成wsdl。ApiService.java充满了这样的方法: 如您所见,它只是一个代理方法…所以我想避免做两次相同的工作,而无需编写ApiService.java就直接从逻辑类生成W
问题内容: 我正在通过GoDaddy设置SSL,以与AWS EC2上的node.js服务器一起使用。我一直无法启动它。 这是我尝试过的: 打算用于域:files.mysite.com 在服务器上,我运行: 然后,我得到CSR:vim files.mysite.csr 我从以下位置复制并粘贴: 最后还有一个空行,我使用rekey离开并粘贴到GoDaddy界面中。 然后,我下载godaddy密钥,该密
问题内容: 我是Web服务概念的新手,目前正在从事一个项目,该项目需要通过SOAP从外部应用程序中检索一些数据。 该应用程序提供了RPC编码的WSDL。我目前发现由于RPC被取代而很难在Java中为此服务创建客户端。 到目前为止,最接近的是使用JAX-RPC,但是每次尝试运行ws-compile程序时,都会出现错误,指出“错误代码很大”。 我已经研究了AXIS 2,并尝试编译它的WSDL2JAVA