cxf 异常: No namespace on "html" element. You must send a SOAP request

原创 2017年01月03日 03:56:33
调用web服务http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 。我用wsdl2java命令生成服务接口和类(无法成功,将wsdl文件拷贝到本地,去掉<s:element ref="s:schema" />,用wsdl2java执行本地修改后的wsdl文件成功)。
用下面的方法调用服务,没有问题:
public static void main(String[] args) {
WeatherWS ww = new WeatherWS();
ArrayOfString aos = ww.getWeatherWSSoap().getWeather("深圳", null);
System.out.println(aos.getString());

}


导入cxf的包,继续执行就出现异常:
十二月 06, 2014 12:18:04 下午 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
信息: Creating Service {http://WebXml.com.cn/}WeatherWS from WSDL: file:/E:/JAVADOME/weather-webService-client_dome/src/weather.wsdl
十二月 06, 2014 12:18:10 下午 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
警告: Interceptor for {http://WebXml.com.cn/}WeatherWS#{http://WebXml.com.cn/}getWeather has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: No namespace on "html" element. You must send a SOAP request.
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.readVersion(ReadHeadersInterceptor.java:112)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:161)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1636)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1525)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:638)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
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:326)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
at com.sun.proxy.$Proxy44.getWeather(Unknown Source)
at dome.test.T.main(T.java:13)
用同样的方法调用web服务http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl没有问题。不通的在于,这个地址可以直接用wsdl2java命令生成接口。
如果我要用spring cxf 要怎么解决

相关文章推荐

不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:&quot; Expected elements are &lt;

不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错: {http://xml.apache.org/axis/}stackTrace:Unmarshalling E...

SET SQL_MODE=&quot;NO_AUTO_VALUE_ON_ZERO&quot;

NO_AUTO_VALUE_ON_ZERO影响AUTO_INCREMENT列的处理。一般情况,你可以向该列插入NULL或0生成下一个序列号。NO_AUTO_VALUE_ON_ZERO禁用0,因此只有N...

&nbsp|&quot|&amp|&lt|&gt等html字符转义

请直接按CTRL+F搜索您要查找的转义字符。 常用表: No. 文字表記 10進表記 16進表記 文字   Comment 001 " "...

CXF javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element

javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element {http://service.wxclient.jht.com/}m...

Java--cvc-complex-type.4:Attribut ‘version’ must appear on element ‘web-app’

Java–cvc-complex-type.4:Attribut ‘version’ must appear on element ‘web-app’在Java开发中,项目运行不起来。将WEB-INF...

You must call removeView() on the child's parent first错误!

在切换Fragement的时候出现:错误信息java.lang.IllegalStateException: The specified child already has a parent. You...

java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting

Glide使用问题 Glide setTag崩溃问题 java.lang.IllegalArgumentException: You must not call setTag() on...

问题:The specified child already has a parent. You must call removeView() on the child's parent first.

Dialog中使用自定义view报错。第一次点击弹出对话框按钮没有问题,第二次点击则会报错: AndroidRuntime: FATAL EXCEPTION: main Process: com....

The specified child already has a parent. You must call removeView() on the child's parent first.

代码如下: Resources res = getResources(); // Resource object to get Drawables     TabHost tabHost =...

Fragment使用时出现错误:he specified child already has a parent. You must call removeView() on the child's p

今天学习了Fragment的用法,了解它的基本原理和生命周期,以及常用方法。可是在动态向Activity中加入Fragment或替换Fragment时总是出现如下错误: 在网上找了很久的资料...
  • k46023
  • k46023
  • 2013年11月05日 22:38
  • 1537
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cxf 异常: No namespace on &quot;html&quot; element. You must send a SOAP request
举报原因:
原因补充:

(最多只允许输入30个字)