Java 将字符串数组从soap返回到android
我正在使用android的Soap web服务,它应该返回字符串数组,但在检索数组或数组元素时遇到了一些问题 但我有一些其他的整数数组,效果很好Java 将字符串数组从soap返回到android,java,android,arrays,web-services,ksoap2,Java,Android,Arrays,Web Services,Ksoap2,我正在使用android的Soap web服务,它应该返回字符串数组,但在检索数组或数组元素时遇到了一些问题 但我有一些其他的整数数组,效果很好 try { SoapObject request5 = new SoapObject(NAMESPACE5, METHOD_NAME5); HttpTransportSE androidHttpTransport5 = new HttpTransportSE(URL5); PropertyInfo pi = new Pr
try {
SoapObject request5 = new SoapObject(NAMESPACE5, METHOD_NAME5);
HttpTransportSE androidHttpTransport5 = new HttpTransportSE(URL5);
PropertyInfo pi = new PropertyInfo();
pi.setName("TID");
pi.setValue(TID);
pi.setType(Integer.class);
request5.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setOutputSoapObject(request5);
androidHttpTransport5.call(SOAP_ACTION5, envelope);
// HERE IS THE PROBLEM
Object result= envelope.getResponse();
String str = null;
for (int i = 0; i < (result).getPropertyCount(); i++) {
str = ((String) ( result).getProperty(i).toString());
StudentIdList.add(get(str));
}
p.setids(StudentIdList);
} catch (SocketTimeoutException e) {
p.seterror("error");
return p;
}
catch (ConnectTimeoutException e) {
p.seterror("error");
return p;
} catch (Exception e) {
p.seterror(e.toString());
return p;
}
更改此项:
Object result= envelope.getResponse();
为此:
SoapObject result = (SoapObject)envelope.getResponse();
详细信息:(结果).getPropertyCount()
和(结果).无法执行getProperty(i)
。它们将导致编译错误,因为当前的结果
定义是一个对象
,并且对于对象
类型,没有类似getPropertyCount
和getProperty
的方法。因此,您必须将响应转换为SoapObject
SoapObject result = (SoapObject)envelope.getResponse();