Xfire返回List類型的詳細(xì)測(cè)試
Posted on 2008-03-03 11:28 semovy 閱讀(1677) 評(píng)論(0) 編輯 收藏 所屬分類: WebService工作需要,昨天開始學(xué)習(xí)Xfire,方便是感到很方便,但是對(duì)于他的默認(rèn)綁定配置,始終有些模糊,尤其是List以及數(shù)組相關(guān)的。今天謝了一個(gè)關(guān)于返回List的具體調(diào)用測(cè)試,應(yīng)該算比較全了,大家共享。
業(yè)務(wù)假設(shè)是根據(jù)billno,查詢數(shù)據(jù)庫(kù),得到ResultSet結(jié)果,然后將ResultSet包裝成List返回。
server端:
public interface IgetInfo {
//每一條記錄作為一個(gè)String[],存放與List中
public List <String[]> getListOfStringArrays(String billno);
//每一條記錄合并為一個(gè)String,存放與List中
public List <String> getListOfString(String billno);
//已String[]的形式只返回一條記錄
public String[] getStringArrays(String billno);
//和第一個(gè)方法類似,只是將String[]改成List
public List <List> getListOfList(String billno);
}
具體實(shí)現(xiàn)類就不寫了,相應(yīng)的IgetInfo.aegis.xml如下:
<?xml version= "1.0 " encoding= "UTF-8 "?>
<mappings>
<mapping >
<method name= "getListOfStringArrays ">
<!--注意,此處的componentType我試過(guò)各種類型,均不行,不知道為何
用String報(bào)造型錯(cuò)誤-->
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getListOfString ">
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getStringArrays ">
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getListOfList ">
<return-type componentType= "#someArrays "/>
</method>
<component name= "someArrays "
class= "java.util.List "
componentType= "java.lang.String " />
</mapping>
</mappings>
client調(diào)用就不寫了,也很簡(jiǎn)單。奇怪的就是第一種List <String[]> 返回類型。感覺上應(yīng)該這么寫
<method name= "XXX ">
<return-type componentType= "#YYY "/>
</method>
<component name= "YYY "
class= "java.util.Arrays "
componentType= "java.lang.String " />
但仍然出錯(cuò)。誰(shuí)給指教一下?
業(yè)務(wù)假設(shè)是根據(jù)billno,查詢數(shù)據(jù)庫(kù),得到ResultSet結(jié)果,然后將ResultSet包裝成List返回。
server端:
public interface IgetInfo {
//每一條記錄作為一個(gè)String[],存放與List中
public List <String[]> getListOfStringArrays(String billno);
//每一條記錄合并為一個(gè)String,存放與List中
public List <String> getListOfString(String billno);
//已String[]的形式只返回一條記錄
public String[] getStringArrays(String billno);
//和第一個(gè)方法類似,只是將String[]改成List
public List <List> getListOfList(String billno);
}
具體實(shí)現(xiàn)類就不寫了,相應(yīng)的IgetInfo.aegis.xml如下:
<?xml version= "1.0 " encoding= "UTF-8 "?>
<mappings>
<mapping >
<method name= "getListOfStringArrays ">
<!--注意,此處的componentType我試過(guò)各種類型,均不行,不知道為何
用String報(bào)造型錯(cuò)誤-->
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getListOfString ">
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getStringArrays ">
<return-type componentType= "java.lang.String "/>
</method>
<method name= "getListOfList ">
<return-type componentType= "#someArrays "/>
</method>
<component name= "someArrays "
class= "java.util.List "
componentType= "java.lang.String " />
</mapping>
</mappings>
client調(diào)用就不寫了,也很簡(jiǎn)單。奇怪的就是第一種List <String[]> 返回類型。感覺上應(yīng)該這么寫
<method name= "XXX ">
<return-type componentType= "#YYY "/>
</method>
<component name= "YYY "
class= "java.util.Arrays "
componentType= "java.lang.String " />
但仍然出錯(cuò)。誰(shuí)給指教一下?