当 WSDL 使用 SOAP 1.2 时生成 Web 服务客户端

发布于 2024-11-29 10:48:22 字数 716 浏览 0 评论 0原文

我有一个 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(除此之外什么都没有),一切都会生成得很漂亮,只是它将发送 SOAP 1.1 请求而不是 SOAP 1.2,并且服务器会对我大喊大叫使用 1.2 代替...

我通过右键单击 WSDL 并选择“Web 服务 > 生成客户端”,在 Windows 7 上使用 Spring Tool Suite 生成代码。以前,当我们使用 SOAP 1.1 时,所有这些都非常有效。

我还尝试使用 maven 插件 jaxws-maven-pluginwsimport 生成它,但没有成功;它也只生成 Bean,而不生成代理。

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

I have a WSDL file which I want to generate a webservice client from. The problem is that the WSDL I've gotten uses SOAP 1.2:

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

And

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

When I try to generate a client from this I only get the request/response Java beans.

If I on the other hand edit the WSDL to use SOAP 1.1 (and nothing else), everything generates beautifully, except that it will send SOAP 1.1 request instead of SOAP 1.2, and the server will yell at me to use 1.2 instead...

I generate the code using Spring Tool Suite on Windows 7 by right clicking the WSDLs and selecting "Web services > Generate client". All this have worked like a charm before, when we were using SOAP 1.1.

I've also tried to generate it with wsimport of the maven plugin jaxws-maven-plugin to no avail; it too generates only the beans, not the proxy.

Is there a way to get this to work? Or is there some way I can modify the generated *ServiceProxy.java classes for them to use SOAP 1.2 instead of 1.1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不喜欢何必死缠烂打 2024-12-06 10:48:22

你可能想看看地铁。那应该支持 Soap 1.2。

有人在这里发布了使用 Metro 的客户端生成的参考:使用本地 WSDL 文件生成 Metro 客户端

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

You might want to look at Metro. That should support Soap 1.2.

Someone posted a reference to client gen using Metro here: Generating Metro Client Using Local WSDL File

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文