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 要怎么解决

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

调用web服务http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 。我用wsdl2java命令生成服务接口和类(无法成功,将...
  • daiqi3504
  • daiqi3504
  • 2017年01月03日 03:56
  • 361

webService调用天气接口遇见的问题

(1)无法读取WSDL文件 也就是说这个网址是错误的,先拿网址在浏览器上打开一下,确保没错。 错的话换一个,我图片上这个是错的 http://www.webxml.com.cn/WebServi...
  • nihaoa50
  • nihaoa50
  • 2017年02月28日 21:32
  • 804

Attribute "nameSpace" must be declared for element type "sqlMap".

在学习ibatis的时候遇到的异常你可能写了多个orm配置文件,每个配置文件里都进行一些CRUD之类的操作,难免会遇到两个或者多个配置文件中的都有一个statement的id命名为 find***, ...
  • xiao_cs
  • xiao_cs
  • 2009年09月15日 16:10
  • 9537

HTTPclient通过soap协议访问cxf写的webservice服务端的方法。

public void testWeb() { String requestSoapData = "" + "
  • wjs3238090
  • wjs3238090
  • 2014年12月11日 13:25
  • 1633

[WebService] the namespace on the "definitions" element, is not a valid SOAP version

原文:http://www.cnblogs.com/garinzhang/p/the_namespace_on_the_definitions_element_is_not_a_valid_SOAP_...
  • luoww1
  • luoww1
  • 2015年10月08日 10:53
  • 1522

解决:A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.

使用CXF解析wsdl文件生成webservice的客户端后,在调用时可能会爆出这个问题,这是因为客户端调用接口发送的soap协议和服务端接口接受的soap协议不一致所致,在Eclipse或者MyEc...
  • wjs3238090
  • wjs3238090
  • 2015年08月25日 15:58
  • 3448

cxf 报错:prefix wsdp is not bound to a namespace

笔者最近在使用cxf框架过程中,当服务端发布service时,出现了一个BUG 打印栈轨如下://wsdp前缀不能绑定到名称空间 javax.xml.bind.UnmarshalException:...
  • qq_30118563
  • qq_30118563
  • 2017年02月25日 23:51
  • 595

CXF - prefix wsdp is not bound to a namespace - with linked exception - 报错处理

使用3.1.3 版本的cxf 组件启动正常,使用数据传输正常,但是每个几分钟会报一段奇怪错误。 Caused by: java.lang.IllegalArgumentException: ...
  • shangzhiliang_2008
  • shangzhiliang_2008
  • 2016年01月13日 14:18
  • 2542

webService学习案例

1.dos执行一个命令wsimort 2.生产一个java客户端
  • wangqiankun2010
  • wangqiankun2010
  • 2014年08月19日 00:46
  • 1170

宜人贷蜂巢ELK Stack之elasticsearch权限探索

上文[宜人贷蜂巢API网关技术解密之Netty使用实践]提到了,API网关“承外对内”,将外部请求,转发到内部各个抓取服务。在网关中,不仅可以做鉴权、加解密、路由、限流功能;如果想了解各服务接口的调用...
  • honeycomb2017
  • honeycomb2017
  • 2017年08月30日 10:06
  • 748
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cxf 异常: No namespace on &quot;html&quot; element. You must send a SOAP request
举报原因:
原因补充:

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