凡是遇到org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素......就代表是入参除了问题,后面会有详细的报错解释:
首先贴出请求报文,每一种出错对应的代码回在后面贴出:
第一种:(uri:"......", local:"Version")。所需<{......}Send_Address> ,代码:
原因是因为接受参数缺少一个参数,所以调用报错
第二种:(uri:"......", local:"Version")。所需元素为<{}Send_Address>,<{}Version>
原因是因为接受参数没有设置名称空间,所以报错信息前面会有{},意思是需要添加名称空间,如果对象接受报错也是因为接受的对象属性没有指定名称空间
第三种:(uri:"......", local:"Version")。所需元素为<{http://www.monternet.com/dsmp/schemas/}arg0>,<{....../}Send_Address>
原因是入参我们没有指定参数名,默认就是arg012345以此类推,所以凡是遇到arg012345类似的就是没有设置名称,对应的xml文档也能看出来入参是arg0
第四种:(uri:"......", local:"Version")。所需元素为<{......}Send_Address>,<{......}version
原因是客户端与服务端请求参数不一致
第五种:(uri:"......", local:"Version")。所需元素为<{......}Send_Address>,<{......}version>
原因是接受参数为上下级文档类型,直接使用字符串接受会报错,修改成文档对象接受,如果直接接受文档子节点则会提示绑定异常
第六种:(uri:"......", local:"Version")。所需元素为<{......}Send_Address>,<{......}version>
如果上面所有的代码都没有问题书写正确,就要检查是不是服务的实现类没有写名称空间,如果没有会提示参数不对,如果写了名称空间,写的不一致也会提示参数不对
原文地址:https://www.cnblogs.com/HuuuWnnn/p/14174627.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。