Android ksoap:无法转换从webservice恢复的数据

Android ksoap:无法转换从webservice恢复的数据,android,parsing,android-ksoap2,Android,Parsing,Android Ksoap2,我有一个返回字符串列表的服务,我需要从android客户端调用它,但出现了一些问题。事实上,有时我会得到一个强制转换异常和我的应用程序崩溃。这是恢复数据的代码: SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnv

我有一个返回字符串列表的服务,我需要从android客户端调用它,但出现了一些问题。事实上,有时我会得到一个强制转换异常和我的应用程序崩溃。这是恢复数据的代码:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            envelope.setOutputSoapObject(request);
            envelope.addMapping(NAMESPACE, "vector<soapobject>",
                    new Vector<SoapObject>().getClass());

            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

            androidHttpTransport.call(SOAP_ACTION, envelope);

            Vector<SoapObject> result = (Vector<SoapObject>) envelope.getResponse();

            return result;
在我转换envelope.getResponse()的行上。怎么了?

试试下面的方法

查看链接


您的前两个代码段也不起作用,我总是得到那个异常。第二个代码片段不适合我的用例,因为我的服务是为返回列表而不是原始类型声明的。我仍然找不到解决问题的方法
java.lang.ClassCastException: org.ksoap2.serialization.SoapObject cannot be cast to java.util.Vector
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);
                SoapPrimitive response = (SoapPrimitive) envelope
                        .bodyIn;
                webResponse = response.toString();