隨筆-57  評論-117  文章-1  trackbacks-0

          在使用cxf實現(xiàn)webservice時,經(jīng)常碰到的問題就是如果在服務端,修改了一個接口的簽名實現(xiàn),如增加一個字段,或者刪除一個字段。在這種情況下,在默認的配置中,就會報以下的錯誤信息:

          org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element . Expected elements are
          這種錯誤即客戶端使用的傳輸對象與服務端接收的參數(shù)的字段不匹配。但如果,每次修改服務端的實現(xiàn),都需要更新客戶端時,就會出現(xiàn)一些問題,如在某些情況下,客戶端的更新是不可能的事(如不在自己掌握之內(nèi),或者服務不能隨便更新,或者其它計劃時)。

          如果避免這種問題,其實也很簡單,就是禁用cxf中的字段信息驗證,如果禁用掉此驗證,就不再會對相應的字段信息進行驗證,同時沒有的字段也會自動的忽略。整個解決只需要增加以下的一行配置即可,在cxf.xml(spring集成文件)中增加以下配置項:

          <cxf:properties>
             <entry key="set-jaxb-validation-event-handler" value="false"/>
          </cxf:properties>
          這樣,即會禁用掉所有cxf的數(shù)據(jù)驗證,在大多數(shù)情況下,這可以滿足我們的要求(除非你有其它和cxf集成的數(shù)據(jù)驗證要求)。

          轉(zhuǎn)載請標明出處:i flym
          本文地址:http://www.iflym.com/index.php/code/201307310001.html



          作者:hoojo
          出處:
          blog:http://blog.csdn.net/IBM_hoojo
                   http://hoojo.cnblogs.com
          本文版權歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


          版權所有,轉(zhuǎn)載請注明出處 本文出自:
          分享道版權所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處,謝謝
          posted on 2013-11-12 13:45 hoojo 閱讀(952) 評論(0)  編輯  收藏 所屬分類: JavaEERIA 【富互聯(lián)網(wǎng)程序】WebService
          主站蜘蛛池模板: 大丰市| 无极县| 高邑县| 天柱县| 镇坪县| 东阳市| 涿鹿县| 姜堰市| 永登县| 周宁县| 平乐县| 正镶白旗| 丹巴县| 昌黎县| 唐海县| 肇东市| 全南县| 远安县| 简阳市| 大埔县| 高尔夫| 彭阳县| 吐鲁番市| 哈巴河县| 石景山区| 乐都县| 资源县| 富裕县| 南投县| 衡阳市| 调兵山市| 阳曲县| 衡南县| 马鞍山市| 宜兰市| 南康市| 黄龙县| 东丽区| 章丘市| 奉节县| 甘肃省|