No namespace on "html" element. You must send a SOAP messa

禽兽猿 2015-12-02 04:30:31
getSupportCity这个方法没有问题
getWeatherbyCityName这个方法报错
而且用jdk1.7原生的wsimport生成并且不导入cxf 不会有错。

是不是jdk1.7和cxf冲突
还有可能是soap1.2 和saop1.1的问题
天气预报服务器端好像支持soap1.2
(http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl)


错误栈:
org.apache.cxf.binding.soap.SoapFault: No namespace on "html" element. You must send a SOAP message.
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.readVersion(ReadHeadersInterceptor.java:122)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:172)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:69)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1669)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
at com.sun.proxy.$Proxy43.getWeatherbyCityName(Unknown Source)
at com.xxt.ws.jdk.service.LookExample_WeatherService.main(LookExample_WeatherService.java:27)
...全文
2571 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheBigBangWOW 2018-03-17
  • 打赏
  • 举报
回复
可以添加一个cxf的日志拦截器,查看请求和响应的soap信息,出现这个异常,soap请求应该是没问题的,问题应该出在响应 可以尝试一下调用其他的方法,如果其他方法没有问题,就证明是这个方法的响应数据有问题,响应的应该是soap格式的数据,但是却响应了其他格式的 这个问题我也遇到了,但是我又想用cxf来调用查询,后来我换另外一个需要输入用户id的查询天气的方法就解决了,不需要删除cxf的jar包

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧