我们在写webservice的时候,如果遇到我们要调用的方法的返回值并不是一个单一的对象或者基本类型,而是以个数组该怎么办?
这一次我遇到了这个问题,搞了好久才搞出来,于是把它写下来。
这是我要调用的方法:
public String[] QueryId(int id){
String[] str = tdb.query(id);
return str;
}
这是通过ID查询信息。
通过在浏览器中输入http://127.0.0.1:8080/axis2/services/TeacherInfoService/QueryId?id=111
得到如下结果
<ns:QueryIdResponse xmlns:ns="http://method.webservice.com">
<ns:return>111</ns:return>
<ns:return>gwgong</ns:return>
<ns:return>20</ns:return>
</ns:QueryIdResponse>
通过ksoap2调用方法
代码片段
SoapObject soapObject = (SoapObject) envelope.bodyIn;
String Tid = soapObject.getProperty(0).toString();
String TName = soapObject.getProperty(1).toString();
String Tage = soapObject.getProperty(2).toString();
这是通过ksoap2获得返回值的方法getProperty()括号中的参数就是返回的数组中的下标。