ree*_*eef 8 java configuration cxf jax-ws
我目前正在使用没有Spring配置文件的CXF的Web服务客户端.
它工作得很好,但我无法弄清楚如何使用Java Api设置绑定SoapVersion.使用Spring文件,如下所示:
<jaxws:binding>
<soap:soapBinding version="1.2"/>
</jaxws:binding>
Run Code Online (Sandbox Code Playgroud)
你们知道如何在Java代码中执行此操作(在端口上,在SOAPBinding上...)?
在此先感谢您的帮助!
编辑 - - - - - - - - - - -
我仍然坚持这个问题...我试图在接口上添加SOAPBinding注释,如下面的响应之一所示,但它不起作用...我仍然在寻找一种手动配置我的方法使用Soap 1.2的PortType/Binding/Bus ...
有任何想法吗?
编辑 - - - - - - - - - - -
问题解决了!其实我回答了我自己的问题:见下文......
谢谢!
ree*_*eef 13
好的,我再次回答我自己的问题,分享解决方案.在CXF邮件列表的帮助下,我发现了一个适合我的解决方案.实际上有两种方法可以解决这个问题.这是解释:
问题来自我构建CXF服务的方式.
第一个解决方案是在服务创建时指定WSDL位置:
// Create the service
Service service = Service.create(urlToWsdl, serviceQName);
// Access the port
return service.getPort(serviceQName, portTypeClass);
Run Code Online (Sandbox Code Playgroud)
这解决了这个问题但是我不希望有这个链接到WSDL,所以这里是摆脱这个链接的第二个解决方案:
// Create the service
Service service = Service.create(serviceQName);
// Add a Port to the service and specify the SOAP 1.2 binding
service.addPort(serviceQName, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING, wsUrl);
// Access the port
return service.getPort(serviceQName, portTypeClass);
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我们决定选择第二种解决方案.
希望这可以帮助!
最简单的可能只是在以下界面上添加注释:
@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15727 次 |
| 最近记录: |