【问题标题】:Generate webservice client when WSDL uses SOAP 1.2WSDL 使用 SOAP 1.2 时生成 Web 服务客户端
【发布时间】:2011-08-12 16:53:59
【问题描述】:

我有一个 WSDL 文件,我想从中生成一个 Web 服务客户端。问题是我得到的 WSDL 使用的是 SOAP 1.2:

<wsdl:definitions xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" [...]>

<wsoap12:operation soapAction="[...]" />

当我尝试从中生成客户端时,我只得到请求/响应 Java bean。

另一方面,如果我编辑 WSDL 以使用 SOAP 1.1(以及 nothing 其他),一切都会生成精美,除了它将发送 SOAP 1.1 请求而不是 SOAP 1.2,并且服务器将叫我改用 1.2...

我在 Windows 7 上使用 Spring Tool Suite 生成代码,方法是右键单击 WSDL 并选择“Web 服务 > 生成客户端”。当我们使用 SOAP 1.1 时,所有这些都像魅力一样发挥作用。

我也试过用maven插件jaxws-maven-pluginwsimport生成它,但无济于事;它也只生成 bean,而不是代理。

有没有办法让它工作?或者有什么方法可以修改生成的*ServiceProxy.java 类,让它们使用 SOAP 1.2 而不是 1.1?

【问题讨论】:

    标签: java jakarta-ee soap wsdl


    【解决方案1】:

    您可能想看看 Metro。那应该支持 Soap 1.2。

    有人在此处发布了对使用 Metro 的客户端 gen 的引用:Generating Metro Client Using Local WSDL File

    Metro wsimport 选项: http://metro.java.net/1.2/docs/wsimport.html

    【讨论】:

    • Metro 真的很好用,虽然后来因为 1.2 版本我遇到了很多其他问题。花了一些时间来完成所有这些,但最终效果很好。谢谢。
    猜你喜欢
    • 2017-02-20
    • 2015-09-09
    • 1970-01-01
    • 2013-01-02
    • 2010-12-01
    • 1970-01-01
    • 2013-08-20
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多