Android 向量上的Ksoap响应分析错误
我有一个soap Web服务和一个用于调用服务的android应用程序。该应用程序始终正常工作,但在上次Web服务更新之后,出现了一些问题。webservice的更新只是为了删除一些未使用的服务。其他代码没有被修改。 我的android应用程序使用AsyncTask调用服务并返回结果:Android 向量上的Ksoap响应分析错误,android,web-services,ksoap2,Android,Web Services,Ksoap2,我有一个soap Web服务和一个用于调用服务的android应用程序。该应用程序始终正常工作,但在上次Web服务更新之后,出现了一些问题。webservice的更新只是为了删除一些未使用的服务。其他代码没有被修改。 我的android应用程序使用AsyncTask调用服务并返回结果: public class DownloadDataTask extends AsyncTask<Void, Void, Vector<SoapObject>> { private stat
public class DownloadDataTask extends AsyncTask<Void, Void, Vector<SoapObject>> {
private static String METHOD_NAME = "getData";
private static String SOAP_ACTION = "http://example.com/getData";
private static String URL = "http://arduino-data-server.appspot.com/dataserver";
private static String NAMESPACE = "http://example.com/";
@SuppressWarnings("unchecked")
@Override
protected Vector<SoapObject> doInBackground(Void... arg0) {
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Vector<SoapObject> result = (Vector<SoapObject>) envelope.getResponse();
return result;
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
其中第49行是调用getResult()方法的行
怎么了?原因很清楚:
Caused by: java.lang.ClassCastException: org.ksoap2.serialization.SoapObject
cannot be cast to java.util.Vector
在此行中,不能将结果SoapObject强制转换为矢量:
Vector<SoapObject> result = (Vector<SoapObject>) envelope.getResponse();
Vector<SoapObject> result = (Vector<SoapObject>) envelope.getResponse();
SoapObject result = (SoapObject) envelope.getResponse();