客户端(C#)调用CXF搭建的webservice的出现一些问题
最近把XFire框架搭建的一个webservice换成CXF框架。访问webservice的客户端是C#写的。客户端调用webservice,数据能在客户端得到。看起来显然是成功了。
但其中在VS中添加CXF服务(Add Service Reference)时,当然首先输入地址(Address),点击go,看看能不能连接服务,结果是能的。但与此同时,tomcat在命令行窗口有警告输出。如果不理会这些警告,自然没有下文了。
警告信息如下:
2011-9-15 16:25:54 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://ACOService.com/}HelloWorldImplService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No such operation: (HTTP GET PATH_INFO: /cxf-project/services/HelloWorld)
2011-9-15 16:25:55 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://ACOService.com/}HelloWorldImplService has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.
第一个警告信息,我网上搜了搜,大部分都是说,服务地址没写全,比如http://192.168.1.127:8080/cxf-project/services/HelloWorld(应该是http://192.168.1.127:8080/cxf-project/services/HelloWorld?wsdl),但我是写全的。我不知道什么地方出错了。
第二个警告信息,同样google了一下,要绑定@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING),加上之后,第二个警告信息果然没有了,但出现了另一个警告信息
2011-9-15 16:29:04 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://ACOService.com/}HelloWorldImplService has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: MustUnderstand headers: [{http://www.w3.org/2005/08/addressing}Action, {http://www.w3.org/2005/08/addressing}To] are not understood.
我有些一筹莫展,希望大家来看看,说不定在你那,你已经遇到过,而且解决了。如能帮助,感激之至
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我也是这个问题啊,求解,并且C#中使用类给java cxf webservice发数据时除了String类型,其它类型都传到服务端为null
恩 好的 我去看看 谢谢你
我以前做过c#连cxf 会有各种Interceptor报错
我印象中你第二个错误要开启ws-addressing
http://cxf.apache.org/docs/ws-addressing.html
这种问题最好去apache cxf的mail list里问
我后来换成了jersey一切都好了