当 WSDL 使用 SOAP 1.2 时生成 Web 服务客户端
我有一个 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-plugin
的 wsimport
生成它,但没有成功;它也只生成 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可能想看看地铁。那应该支持 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