Java 带向量的SOAP请求,强制转换错误
我对使用Java(使用Android SDK)的PHP SOAP Web服务的SOAP请求有问题 我有一个SOAP助手类。此类连接到SOAP服务并从服务器获取所有原始数据。 在这个类中,我实现了以下方法:Java 带向量的SOAP请求,强制转换错误,java,android,eclipse,soap,ksoap2,Java,Android,Eclipse,Soap,Ksoap2,我对使用Java(使用Android SDK)的PHP SOAP Web服务的SOAP请求有问题 我有一个SOAP助手类。此类连接到SOAP服务并从服务器获取所有原始数据。 在这个类中,我实现了以下方法: @SuppressWarnings("unchecked") public static Vector<SoapObject> getLayers(){ try { final String SOAP_ACTION = "http://www.XYZ.ch/
@SuppressWarnings("unchecked")
public static Vector<SoapObject> getLayers(){
try {
final String SOAP_ACTION = "http://www.XYZ.ch/YYY/webservice.php/getLayers";
final String METHOD_NAME = "getLayers";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, soapEnvelope);
Vector<SoapObject> result = (Vector<SoapObject>)soapEnvelope.getResponse();
return result;
} catch (Exception e) {
return null;
}
}
通过调试器,我可以看到向量中的所有数据。向量不是空的。所有数据都是正确的
有什么想法吗
多谢各位
rob最有可能从
soapEnvelope.getResponse()
返回的对象不是向量。尝试使用集合
可以显示完整的堆栈跟踪吗?
public void getLayers(){
Vector<SoapObject> vectorLayers = SOAPHelper.getLayers();
ArrayList<HashMap<String, Object>> myList = new ArrayList<HashMap<String, Object>>();
for(int i=0; i<vectorLayers.size(); i++){
HashMap<String, Object> layers = new HashMap<String, Object>();
layers.put("layerId", vectorLayers.get(i).getProperty(0));
layers.put("layerName", vectorLayers.get(i).getProperty(1));
myList.add(layers);
}
}
05-02 13:11:56.866: ERROR/AndroidRuntime(988): Caused by: java.lang.ClassCastException: java.util.Vector