cxf webservice抛异常 Unmarshalling Error: 意外的元素 (uri:"http:", local:"say")所需元素为<

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cxf webservice抛异常 Unmarshalling Error: 意外的元素 (uri:"http:", local:"say")所需元素为<相关的知识,希望对你有一定的参考价值。

网上说是注释问题。小白不太懂,第一次写。请各大网友帮助。

原因:

可能是声明的接口类和请求的接口类不一致了。这个错误提示明确的指出错误发生在Client.java的80行。

解决方法:

使用eclipse生成web service客户端,new->other->web service client

iimport cn.com.WebXml.EnglishChineseSoapProxy;

public class TestCilent 
public static void main(String[] args) throws Exception 
EnglishChineseSoapProxy ecsp=new EnglishChineseSoapProxy();
String[]  ret=ecsp.translatorReferString("we");
for(String str:ret)
  System.out.println(str);



可执行
Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

在lib中加入上面两个类的jar包以解决。

参考技术A 你的调用方法传参的时候不要加命名空间,也就是hui.cxf.www这个东西试试 参考技术B 可能是路径写错了

cxf 整合 spring 时 java.lang.VerifyError异常

异常信息主要有两个,Falling off the end of the code 和 illegal instruction found at offset 1:

java.lang.VerifyError: (class: xxx/webservice/jaxws_asm/DoService, method: getRequest signature: ()Lxxx/service/webservice/Request;) Falling off the end of the code
java.lang.verifyerror: (class:xxxxxx ;)v) illegal instruction found at offset 1

 

经反复查找资料发现最终是asm jar包冲突导致的。直接通过maven进行依赖分析:

在控制台会输出一堆依赖信息,ctrl + f 查找 asm

我这里主要是因为集成了shiro , shiro中有asm包 和 cxf 中的asm包冲突了。排除掉shiro中的asm包即可。假如是因为集成其他框架导致的,同理排除掉框架中的asm包即可

 

以上是关于cxf webservice抛异常 Unmarshalling Error: 意外的元素 (uri:"http:", local:"say")所需元素为<的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot | 第三十四章:CXF构建WebService服务

webservice超时设置

使用xfire客户端调用CXF的服务时,出现空指针异常。

springboot 整合 CXF 版本异常 java.lang.NoClassDefFoundError:ServletRegistrationBean

springmvc调用webservice线上异常

cxf如何创建webservice客户端