月掛夜中央

          懶惰程序員

          常用鏈接

          統計

          最新評論

          xfire的webservice方法中date類型參數為null出現空指針錯誤的問題

          最近在使用xfire開發webservice,發現一個這樣的問題,如果注冊的webservice 方法中的參數有Date類型時,調用該方法時把Date型參數填入null,就會報空指針錯誤,這是xfire的一個bug,很可惜在xfire官方網站上最新版的xfire版本是1.2.6,在這個版本中問題仍然沒有解決,而解決的方法在codeHaus的jira中其實發現了這個問題,這個問題主要出在org.codehaus.xfire.aegis.type.basic.DateTimeType的writeObject方法,在1.2.6中這個方法的代碼是這樣的:

          public void writeObject(Object object, MessageWriter writer, MessageContext context)
              
          {
                  Calendar c 
          = Calendar.getInstance();
                  c.setTime((Date) object);
                  writer.writeValue(format.format(c));
              }
          修改過后的代碼如下:
          public void writeObject(Object object, MessageWriter writer,
                      MessageContext context) 
          {
                  
          if (object != null{
                      Calendar c 
          = Calendar.getInstance();
                      c.setTime((Date) object);
                      writer.writeValue(format.format(c));
                  }
           else {
                      writer.writeXsiNil();
                  }

              }
          加了個對null的判斷就好了。很不幸的是xfire現在變成了cxf,指望官方在新的xfire版本中改正這個bug是沒戲了,大家還是自己改改用吧。

          我的微博 http://t.sina.com.cn/1401900445

          posted on 2010-02-24 09:12 月掛夜中央 閱讀(3751) 評論(2)  編輯  收藏 所屬分類: java咖啡杯

          評論

          # re: xfire的webservice方法中date類型參數為null出現空指針錯誤的問題 2011-10-13 16:47 dsfa

          是應該檢查下傳入的參數的吧!!為空的話會出錯的  回復  更多評論   

          # re: xfire的webservice方法中date類型參數為null出現空指針錯誤的問題[未登錄] 2014-04-10 11:37 chen

          要怎樣重新編譯打包呢?  回復  更多評論   

          主站蜘蛛池模板: 佛学| 论坛| 瑞丽市| 合水县| 清镇市| 卓资县| 上蔡县| 白朗县| 山阳县| 马公市| 道真| 沽源县| 富锦市| 津南区| 旅游| 通化市| 阿瓦提县| 洛扎县| 个旧市| 赤水市| 横峰县| 阳曲县| 霸州市| 沙湾县| 衡阳县| 永康市| 嘉峪关市| 广安市| 武乡县| 乐昌市| 万荣县| 泸溪县| 英超| 乌海市| 孝昌县| 河池市| 吉隆县| 青海省| 旬阳县| 布尔津县| 金湖县|