溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

                  近期在做多個數據庫應用交互系統,其中數據交互采用了webservice的方式,說到webservice項目中不得不用到xfire這個框架,有了它我們幾乎不用寫代碼,就可以很快速的創建自己的webservice
                  但在使用的過程中遇到一些小細節上的問題:
          就是在寫webservice接口的時候,通常大家都會定義一些方法的參數,但是根據xfire的xsd文件描述情況來看,它的參數命名通常是in0,in1等等,一次類推,很不友好。
                  按照XFire-Spring生成的WSDL文檔中接口參數名極不友好:
          <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" />
          <xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="xsd:string" />
          <xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="xsd:string" />
          <xsd:element maxOccurs="1" minOccurs="1" name="in3" nillable="true" type="xsd:string" />
                  大家都知道,作為一個合格的程序員,在寫代碼的時候方法參數命名什么的要盡量做到見名知意,顯然他這種風格是不適合我們的。因此我們要創新,這就有了下文。
                  如何自動將in0與in1替換成友好的參數名稱呢 ?
                  方法如下:
            1.在與接口類同一包下面建一個接口類名稱.aegis.xml 的文件,內容如下
          <?xml version="1.0" encoding="UTF-8"?>  
          <mappings>  
              <mapping>  
                 <method name="settleMessage">  
                     <parameter index="0"  mappedName="id" />
                     <parameter index="1"  mappedName="username" />
                     <parameter index="2"  mappedName="pass" /> 
                 </method>
             </mapping>  
          </mappings> 

                  注意:
                          name為接口中方法名稱
                          index為方法中第一個參數
                          mappedName為替換后的名稱
                          該XML文件的位置一定要與你定義的webservice的接口位于同一個目錄(包下)否則不起作用

           

          posted on 2010-06-07 10:13 雪山飛鵠 閱讀(2870) 評論(5)  編輯  收藏 所屬分類: webservice

          Feedback

          # re: 在XFire中使用友好的接口參數名 2010-06-07 11:05 咖啡妝
          建議使用annotation對參數名進行配置  回復  更多評論
            

          # re: 在XFire中使用友好的接口參數名 2010-06-07 11:23 臨遠
          cxf默認就是jaxb,現在感覺xfire的aegis太取巧了。  回復  更多評論
            

          # re: 在XFire中使用友好的接口參數名 2010-06-07 11:59 雪山飛鵠
          @咖啡妝
          annotation方式用的不是很熟,能寫個annotation的文檔么?謝謝  回復  更多評論
            

          # re: 在XFire中使用友好的接口參數名 2010-06-08 16:55 愛之谷
          annotation方式用的不是很熟  回復  更多評論
            

          # re: 在XFire中使用友好的接口參數名 2012-12-04 20:48 逸美2011
          請問給接口中其他方法怎么進行配置?  回復  更多評論
            

          主站蜘蛛池模板: 金山区| 益阳市| 酉阳| 昭平县| 精河县| 河东区| 峡江县| 泰来县| 宣武区| 会泽县| 淅川县| 澄江县| 宝山区| 临夏市| 杭锦后旗| 页游| 万安县| 罗田县| 黎平县| 石台县| 温州市| 和平县| 通渭县| 丹寨县| 益阳市| 余干县| 汤原县| 宁海县| 阿拉善盟| 白山市| 土默特右旗| 东源县| 滨海县| 海宁市| 九台市| 浮山县| 东兰县| 班玛县| 鄄城县| 富源县| 保定市|