这两天在项目上集成CXF进行异构系统间的通讯,在Tomcat上集成开发,用cxf生成客户端代码,运行都没有问题,但是迁移到WAS7上,就出问题了
Caused by: javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unexpected element (uri:"", local:"colNum"). Expected elements a re <{}sql> at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1310) at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:1036) at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMarshaller.demarshalFaultResponse(DocLitWrappedMethodMarshall er.java:591) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:532) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:470) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:377) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:185)
这大致的意思是客户端发送的参数(uri:"", local:"colNum")与服务端接收的参数<{}sql>不一致
开始没怎么注意,就看到了
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler
唉,怎么老是WAS报错啊,赶快查查这个类在哪里,结果是WAS容器自己带的,这~难道是WAS不支持CXF?
一番谷歌度娘后,发现was是支持的,奇怪了,Tomcat、Application调用全都可以啊。。。。
再用soapUI调用试试,正常~~~
无奈,在csdn上看到有人说是代码中缺少命名空间注释
参考:http://blog.csdn.net/maosijunzi/article/details/8278042
一番修改之后,再部署到was上,结果。。。依旧。。。
怎么办?
检查一下服务端吧,检查了半天,还是没发现有问题。。。。
无意中,在soapUI中多加了一个请求参数,OMG,竟然报了同样的错误。
至此注意到了这个错误内容:
Unmarshalling Error: unexpected element (uri:"", local:"colNum"). Expected elements a re <{}sql>
参数不对,参数不对!研究一下客户端代码,没问题,依然没问题
那是不是就代表在was上部署的没问题呢?
查。。。查。。。查。。。。
发现了,原来WAS上的应用咱本来是要用jar包里的客户端代码,结果,把源码包编译后的客户端class文件放上去了,而且是旧的,自然不会调用新的jar包了
果断删除class文件,果断重启,果断测试,终于解决~
以后部署都要谨慎点啊~唉~这闹的~
相关推荐
CXF 对于WAS,Weblogic等应用服务器的支持
was8.5 部署cxf demo
部署cxf服务到WebSphere7.0的步骤
实战Web Service 之 CXF 实战Web Service 之 CXF
处理cxf版本和jaxb包中冲突问题,解决webservice中遇到的版本问题
cxf在创建客户端出现编码GBK-不可映射字符的编码问题解决的jar
cxf客户端出现GBK编码问题解决cxf客户端出现GBK编码问题解决jar.rar
cxf创建客户端出现GBK编码问题解决的jar 评分: cxf在创建客户端出现编码GBK-不可映射字符的编码问题解决的jar
cxf使用中编码问题,有关于gbk等的编码问题在cxf中的解决方法
一个有关于并行计算的地球物理正演项目报告。基于GPU计算
CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载 CXF下载
JAVA7和JAVA8对应CXF资源 WebService CXF 用了一天时间找,官网打不开,国内要积分,下下来又永不了。最后终于搞到手,上传上来分享给大家。 jdk版本 CXF版本 java 9及以上 3.3.x java 8 3.x java 7 2.2x --- ...
我在工程里配的路径是http://localhost:8080/cxf/ws.请注意后缀的路径ws是必须的.因为我在web.xml里配的它的路径是<url-pattern>/ws/*</url-pattern>.这个是根据需要可以改变的.有什么不明白的,可以发邮件到我的邮箱...
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,而相应的war包在tomcat上是可以正常启动的,通过后台的日志分析大致可以定位为相关的cxf类无法找到,其实这些类在项目的lib目录下都是存在的,莫名其妙...
CXF源码:CXF_Spring源码 CXF源码:CXF_Spring源码
Spring CXF Restful 实例
在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息格式(或binding)和网络协议(transports)包括SOAP、XML(通过HTTP或JMS)进行访问。CXF同样支持多种model 如:JAX-WS,JBI,SCA和CORBA service。CXF设计...
<import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
cxf服务端开发
利用Apache CXF开发webservice接口需要用到的jar集合 cxf-core-3.0.15.jar cxf-rt-bindings-soap-3.0.15.jar cxf-rt-bindings-xml-3.0.15.jar cxf-rt-databinding-jaxb-3.0.15.jar cxf-rt-frontend-jaxws-3.0.15.jar...