c# - 为 Web 服务创建 Java stub 的库

标签 c# java web-services code-generation stub

我想知道是否有人可以推荐一个好的库来生成 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 CXFGlassfish 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/

相关文章:

c# - Linq 是否提供了一种轻松发现序列中间隙的方法?

c# - 如何删除应用程序代码中的 app.config

c# - 需要在cake脚本的GitPull方法中获取修改文件的详细信息

java - IntelliJ 显示启动画面然后退出

c++ - Casablanca 可以用作网络服务器来为 Assets 提供服务吗?

web-services - API设计-在一个请求中多次传递相同的请求参数

c# - 使用数据读取器使用数据库多列中的数据填充文本框

java - Selenium Webdriver 将鼠标移动到 Point

java - 在 Android 中搜索带有关键字的任何网页

android - 从 Android 应用程序安全地连接到 Web 服务