在使用cxf实现webservice时,经常碰到的问题就是如果在服务端,修改了一个接口的签名实现,如增加一个字段,或者删除一个字段。在这种情况下,在默认的配置中,就会报以下的错误信息:

org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element . Expected elements are 
这种错误即客户端使用的传输对象与服务端接收的参数的字段不匹配。但如果,每次修改服务端的实现,都需要更新客户端时,就会出现一些问题,如在某些情况下,客户端的更新是不可能的事(如不在自己掌握之内,或者服务不能随便更新,或者其它计划时)。

如果避免这种问题,其实也很简单,就是禁用cxf中的字段信息验证,如果禁用掉此验证,就不再会对相应的字段信息进行验证,同时没有的字段也会自动的忽略。整个解决只需要增加以下的一行配置即可,在cxf.xml(spring集成文件)中增加以下配置项:

<cxf:properties> 
   <entry key="set-jaxb-validation-event-handler" value="false"/> 
</cxf:properties> 
这样,即会禁用掉所有cxf的数据验证,在大多数情况下,这可以满足我们的要求(除非你有其它和cxf集成的数据验证要求)。

本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/p/cxf_webservice_Unmarshalling_unexpected_element.html,如需转载请自行联系原作者

在cxf中使用配置避免增加字段导致客户端必须更新、同步实体属性的问题相关推荐

  1. MySql单张表中,“多个唯一字段”的插入和更新操作----添加联合唯一索引,Navicat上操作

    由于是入门的小白,在项目中遇到了类似的问题,做如下记录. 1.问题场景 开始本篇之前,先说下我遇到的问题场景,实际开发的场景为例: 开发中有一张用户表tb_device_user , 用来记录设备上的 ...

  2. linux mutt安装配置_Linux系统中安装配置Mutt来作为Gmail客户端

    mutt是一个Linux终端下的著名的邮件客户端,如你所愿,mutt就是一个邮件客户端.没有其他浮华的功能,它可以帮助你提升效率,至于帮助你装X只能算是mutt的特殊加成. 由于mutt是一个有着un ...

  3. antd中的form表单 initialValue导致数据不更新问题

    初步理解 : initialValue就是所谓的defaultValue,只会在第一次赋值的时候改变,却又有一些不同,因为 initialValue又会因其他改动而改变. 然而当获取的数据重新上来要渲 ...

  4. 关于mybatis的逆向工程中分页配置

    关于mybatis的逆向工程中分页配置 因为在使用PageHelper插件的时候出现了异常的问题,所以考虑在数据库查询的时候直接进行分页操作,也就是在配置中添加limit,首先把我遇到的分页问题描述一 ...

  5. CXF配置,ant文件说明及运行,运行cxf中带的项目

    安装CXF时需要Tomcat,ant,并设置以下环境变量: JAVA_HOME:        C:\Program Files (x86)\Java\jdk1.6.0_25 CXF_HOME:    ...

  6. Android 系统(165)---在apns-conf文件中配置一个read_only字段,使APN不可被编辑

    在apns-conf文件中配置一个read_only字段,使APN不可被编辑 如果有需要在apns-conf中配置一个新的read_only字段,并使其生效,比如使得APN不可被编辑.可以最如下的修改 ...

  7. 创建shap文件的属性字段类型区别_在ArcGIS中为Shapefile属性表增加字段

    摘要: 属性描述了要素的相关特性,并存储于表中.在创建新的属性表或是向已有的属性表中增加字段的时候,必须指明数据类型和字段属性,比如精度(Precision)或长度(Length).数据类型的选择和相 ...

  8. (注意unsupport)MSCRM中在业务部门中增加字段

    效果展示: 步骤: 1.打开业务部门实体可自定义 update metadataschema.entity set IsCustomizable='1' where name='businessuit ...

  9. Linux系统中网络配置详解

    从linux诞生的那一天起,就注定了它的网络功能空前地强大.所以在linux系统中如何配置网络,使其高效,安全的工作就显得十分重要.下面我们就从网络设备的安装,网络服务的设置和网络安全性三个方面来介绍 ...

最新文章

  1. 解决Hbase启动报错问题:No such file or directory!
  2. 读书 - Delphi下深入Windows核心编程 第二天
  3. javax.naming.NameNotFoundException:
  4. ApkTool反编译出错brut.common.brutexception及java.io.filenotfoundexception 之一
  5. PHP 底层的运行机制与原理
  6. 关于pytorch里面的图像变换
  7. SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器
  8. webpack入门1
  9. Openlayer:学习笔记之控件
  10. docker 内部ping不通宿主机_修改docker网段
  11. 锐捷自动定时启动,开机自动认证校园网 教程
  12. 毕设-基于SpringBoot度假村租房管理系统
  13. 由于应用程序配置不正确,未能启动此应用程序
  14. 游戏美术设计中,最难的角色人物如何设计才能吸睛?
  15. plt.legend 图例放在外面 子图会挤在一起 子图压缩 压扁
  16. 中南大学计算机学院张伟,张伟(数学家)_百度百科
  17. 系统日志及数据库日志
  18. mysql缓冲和缓存设置
  19. 自控考研复习 自我梳理(三) 知识来自网络,纯为总结侵权即删(二阶系统)
  20. 柱纵向钢筋长度计算机械连接,柱钢筋计算公式图解

热门文章

  1. Asp.net导出Excel
  2. AngularJs 基础教程​ —— Select(选择框)
  3. Java模式(适配器模式)
  4. 用window.open时能否通过post方式传输数据?
  5. NSURLRequest的超时陷阱
  6. 脚本中export不起作用的原因分析
  7. Python之Fabric
  8. android 内部类的优化
  9. 用cmd运行java程序
  10. 使用TensorRT加速yolo3