我想知道是否有人可以推荐一个好的库来生成 java webservices stub 作为客户端。
目前我使用的产品嵌入了一个只需要 WSDL 的生成器,然后创建所需的类和方法。
我的问题是它会抛出警告并且不会为我尝试使用的某些网络服务创建任何方法。
真正的问题是它没有解释问题是什么(所以我可以和 web 服务的所有者一起修改它)也没有让我修改输出所以我可能可以自己解决问题。
然而,网络服务的所有者(因为这发生在几个不同的 ws 上)说他们的 ws 运行良好,实际上如果我使用 soapUI他们真的有效!!!
我快速浏览了 soapUI 本身使用的库,我看起来很有前途。
我知道有 Axis这应该可以完成工作,但我担心我失败的生成器已经在使用该库(这让我觉得它会再次失败)
最近我不知道这两个库是否生成 java 源代码 stub 或只有类似
的方法Object [] args = ...;
service.inkvoke("updateCustomer", args );
当我想要的是:
CustomerWs cws = ....
cws.updateCustomer(custId, custName, custAddress /*etc*/ );
那么,谁有可以推荐的GOOD ws stub 生成器?
我正准备自己手写,但肯定需要几天时间才能被接受
最佳答案
当你提到“轴”时要非常小心:Apache Axis 1在 2006 年初因线程安全错误导致死锁和 CPU 旋转(我们都经历过)而被废弃。你会深深后悔使用它。 Apache Axis 2是一个完整的重写,可能值得一看。但我建议你先看看Apache CXF和 Glassfish Metro .
更新:这里是关于 deadlock 的错误报告和 100% CPU spin .这是 Cyrille Le Clerc 的 proposed patch三年前,从未 promise 过。
我们通过直接使用 Java 重新编写客户端代码来消除死锁和旋转。然后 Axis 服务器拒绝与我们交谈,发回 HTTP 500 错误。我们需要谎称我们是 Axis 客户才能得到正确的回应。 SOAP 互操作性不是 Axis 1 团队的优先事项。
关于c# - 为 Web 服务创建 Java stub 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1010392/