C# 调用 JavaWebservice服务遇到的问题汇总
1.ASOAP1.2messageisnotvalidwhensenttoaSOAP1.1onlyendpoint.
问题原因:
客户端和服务端的SOAP协议版本不一致。
解决方法:
①修改客户端SOAP协议版本和服务端一致
②修改服务端SOAP协议版本和客户端一致
附Java服务端修改服务暴露SOAP版本方法:
在接口的实现类上面添加注解
//importjavax.xml.ws.BindingType; //importjavax.xml.ws.soap.SOAPBinding; @BindingType(SOAPBinding.SOAP12HTTP_BINDING)//1.2 @BindingType(SOAPBinding.SOAP11HTTP_BINDING)//1.1
2.MustUnderstandheaders:[{http://www.w3.org/2005/08/addressing}Action,{http://www.w3.org/2005/08/addressing}To]arenotunderstood
问题原因:
C#调用Java服务时,请求时添加了ws-addressing信息,而CXF默认没有打开ws-addressing开关,会出现上述warn
解决方法:
①在app-context-service.xml下的服务暴露中,添加以下节点,以支持ws-addressing。
<jaxws:endpointid="javaMonitorConfigService" implementor="#monitorConfigService"address="/javaMonitorConfigService"> <jaxws:features> <wsa:addressingxmlns:wsa="http://cxf.apache.org/ws/addressing"/> </jaxws:features> </jaxws:endpoint>