【问题标题】:how to test .net webservice in java when .Net service is not available当.Net服务不可用时如何在java中测试.net webservice
【发布时间】:2012-06-15 09:43:53
【问题描述】:

我只有一个 .net wsdl 文件,我想使用 java 连接到它以测试一些功能。

但问题是我只能在生产环境中访问 .Net 服务器!而且我在工作时无法连接到它!!!

我正在考虑一种对 wsdl 文件进行逆向工程并从中生成 java 类的方法,然后我可以在 java 中创建另一个与 .Net web 服务完全相同的 web 服务并运行我的程序并使用 java 对其进行测试。

您知道将 .net Web 服务反向工程为 java 类的任何工具或命令吗? 听说过SOAPUI,有这样的功能吗?

编辑:

顺便说一下我用的是jax-ws(java webservice的参考实现)

【问题讨论】:

    标签: java .net web-services testing reverse-engineering


    【解决方案1】:

    好吧,你可以做的是:

    1) 创建一个 Maven 项目

    2) 将cxf-codegen-plugin 添加到 pom.xml 文件中

    3) 插件生成一个 Java 接口,以及 SOAP 通信所需的类

    4) 创建一个实现接口的类(前提是你知道每个方法背后的逻辑)

    5) 你现在有一个 Java 网络服务,它与 .net 对应物做同样的事情

    6) 部署到 Glassfish/Tomcat/etc 等应用服务器

    5) ???

    6) 利润

    【讨论】:

    • 感谢 alegen,但此插件将生成可用于调用 Web 服务的客户端工件。我需要一个反转 wsdl 的工具来获取创建此 wsld 的代码。具有我的@WebMethod 方法的文件。
    • WSDL 文件不包含任何与实现相关的逻辑。你不能“反转”一个 WSDL 文件,我不明白你想从中得到什么......如果你想要 C#/Java/etc 代码使用实现的方法来自 WSDL 文件是不可能的
    • 是的,我知道 wsdl 不代表方法的实现;)我的意思是 code 是 java 接口。这个maven插件给我那个界面吗?只是方法签名!
    • 它给出了正确的interfaceannotations 以及所有内容,包括用作参数的对象的类;基本上你所要做的就是implement interface 并为方法添加逻辑......你不能从 WSDL 中得到更多
    【解决方案2】:

    一个适当编写的 Web 服务不应该关心客户端或服务器是用什么语言编写来执行其功能的。只需将wscompile 之类的实用程序指向 wsdl,并给出正确的参数组合,它就会为您生成类存根。

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多