流易

日日行,不怕千万里;常常做,不怕千万事。(https://github.com/poazy)

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

采用CXF客户端调用Webservice服务,由于服务端时不时会对Webservice服务删除或添加一些字段,而CXF未及时更新客户端代码导致再次调用服务时报异常错误:

Interceptor for {Mystifly.OnePoint}OnePoint#{Mystifly.OnePoint}AirRevalidate has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素 (uri:"http://schemas.datacontract.org/2004/07/Mystifly.OnePoint", local:"NameNumbers")。所需元素为<{http://schemas.datacontract.org/2004/07/Mystifly.OnePoint}Services> 

解决这个问题有二个方式:
1、根据最新的服务wsdl规范更新CXF客户端代码

2、给CXF设置属性禁用CXF的Jabx对xml的检验

client.getRequestContext().put("set-jaxb-validation-event-handler", false);

 

转载:https://www.iflym.com/index.php/code/201307310001.html

posted on 2019-03-21 11:53  流易  阅读(2210)  评论(0编辑  收藏  举报