Posted on 2008-03-03 11:28
semovy 阅读(1674)
评论(0) 编辑 收藏 所属分类:
WebService
工作需要,昨天开始学习Xfire,方便是感到很方便,但是对于他的默认绑定配置,始终有些模糊,尤其是List以及数组相关的。今天谢了一个关于返回List的具体调用测试,应该算比较全了,大家共享。
业务假设是根据billno,查询数据库,得到ResultSet结果,然后将ResultSet包装成List返回。
server端:
public interface IgetInfo {
//每一条记录作为一个String[],存放与List中
public List <String[]> getListOfStringArrays(String billno);
//每一条记录合并为一个String,存放与List中
public List <String> getListOfString(String billno);
//已String[]的形式只返回一条记录
public String[] getStringArrays(String billno);
//和第一个方法类似,只是将String[]改成List
public List <List> getListOfList(String billno);
}
具体实现类就不写了,相应的IgetInfo.aegis.xml如下:
<?xml version= "1.0 " encoding= "UTF-8 "?>
<mappings>
<mapping >
<method name= "getListOfStringArrays ">
<!--注意,此处的componentType我试过各种类型,均不行,不知道为何
用String报造型错误-->
<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调用就不写了,也很简单。奇怪的就是第一种List <String[]> 返回类型。感觉上应该这么写
<method name= "XXX ">
<return-type componentType= "#YYY "/>
</method>
<component name= "YYY "
class= "java.util.Arrays "
componentType= "java.lang.String " />
但仍然出错。谁给指教一下?