C# 调用 JavaWebservice服务遇到的问题汇总

2019-12-30 11:29:39王振洲
本文给大家分享的是个人在使用C#调用 JavaWebservice服务遇到的几个问题的解决方法的汇总,给有类似需求的小伙伴们参考下吧。  

1. A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.

问题原因:

客户端和服务端的SOAP协议版本不一致。

解决方法:

①修改客户端SOAP协议版本和服务端一致
②修改服务端SOAP协议版本和客户端一致

附Java服务端修改服务暴露SOAP版本方法:

在接口的实现类上面添加注解


//import javax.xml.ws.BindingType;
//import javax.xml.ws.soap.SOAPBinding;

@BindingType(SOAPBinding.SOAP12HTTP_BINDING) //1.2
@BindingType(SOAPBinding.SOAP11HTTP_BINDING) //1.1
 

2. MustUnderstand headers: [{http://www.easck.com/2005/08/addressing}Action, {http://www.easck.com/2005/08/addressing}To] are not understood

问题原因:

C#调用Java服务时,请求时添加了ws-addressing 信息,而CXF默认没有打开ws-addressing开关,会出现上述warn

解决方法:

①在app-context-service.xml 下的服务暴露中,添加以下节点,以支持ws-addressing。  


<jaxws:endpoint id="javaMonitorConfigService"
    implementor="#monitorConfigService" address="/javaMonitorConfigService">
    <jaxws:features>
      <wsa:addressing xmlns:wsa="http://www.easck.com/ws/addressing" />
    </jaxws:features>
  </jaxws:endpoint>


注:相关教程知识阅读请移步到c#教程频道。