java.lang.ClassCastException: org.ksoap2.serialization.SoapObject

时间:2021-08-27 15:51:54
05-14 10:55:56.524: WARN/System.err(505): java.lang.ClassCastException: org.ksoap2.serialization.SoapObject
在soap获取webservice暑假时出现了这个异常。后台返回的是Vector集合。且后台没错。求各位大神指导!

前台获取数据的代码如下:
public List getAllgoods(){
List flag=new ArrayList();
 final SoapObject so = new SoapObject("http://dao.shop.com/", "showa");
        so.addProperty("arg0","a");
//         so.addProperty("arg1",str2);
//         so.addProperty("arg2",str3);
//         so.addProperty("arg3",str4);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
     envelope.bodyOut = so;
     HttpTransportSE ht = new HttpTransportSE("http://10.0.2.2:8080/dinghuohoutai/showgoodPort?wsdl");
     try{
     ht.call("http://dao.shop.com/showa", envelope);
     if(envelope.getResponse()!=null){
     System.out.println(envelope.getResponse().toString());
     //Object t=(SoapObject) envelope.bodyIn;
     Object t=envelope.getResponse();
     Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     /*Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     for(SoapObject s:v){
     goods g=new goods();
     g.setGoodid((int)s.getProperty(1));
     g.setGoodname((String)s.getProperty(2));
     g.setParice((int)s.getProperty(3));
     g.setYuliang((int)s.getProperty(4));
     g.setDetail((String)s.getProperty(5));
     g.setCatogry((String)s.getProperty(6));
     flag.add(g);
     }*/
     return flag;
     }
     } catch(Exception e){ 
     e.printStackTrace();
return flag;

     }
     return flag;
}

5 个解决方案

#1


求各位大神指导

#2


类型转换错误了。

#3


楼主不哭。。

#4


引用 楼主 Nickjun123 的回复:
05-14 10:55:56.524: WARN/System.err(505): java.lang.ClassCastException: org.ksoap2.serialization.SoapObject
在soap获取webservice暑假时出现了这个异常。后台返回的是Vector集合。且后台没错。求各位大神指导!

前台获取数据的代码如下:
public List getAllgoods(){
List flag=new ArrayList();
 final SoapObject so = new SoapObject("http://dao.shop.com/", "showa");
        so.addProperty("arg0","a");
//         so.addProperty("arg1",str2);
//         so.addProperty("arg2",str3);
//         so.addProperty("arg3",str4);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
     envelope.bodyOut = so;
     HttpTransportSE ht = new HttpTransportSE("http://10.0.2.2:8080/dinghuohoutai/showgoodPort?wsdl");
     try{
     ht.call("http://dao.shop.com/showa", envelope);
     if(envelope.getResponse()!=null){
     System.out.println(envelope.getResponse().toString());
     //Object t=(SoapObject) envelope.bodyIn;
     Object t=envelope.getResponse();
     Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     /*Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     for(SoapObject s:v){
     goods g=new goods();
     g.setGoodid((int)s.getProperty(1));
     g.setGoodname((String)s.getProperty(2));
     g.setParice((int)s.getProperty(3));
     g.setYuliang((int)s.getProperty(4));
     g.setDetail((String)s.getProperty(5));
     g.setCatogry((String)s.getProperty(6));
     flag.add(g);
     }*/
     return flag;
     }
     } catch(Exception e){ 
     e.printStackTrace();
return flag;

     }
     return flag;
}

这个类型转换是按照http://v.youku.com/v_show/id_XNTg5ODgyNTM2.html?firsttime=1156视频里的写的。而且他上面得到的对的。。

#5


引用 2 楼 rui888 的回复:
类型转换错误了。
这个类型转换是按照http://v.youku.com/v_show/id_XNTg5ODgyNTM2.html?firsttime=1156视频里的写的。而且他上面得到的对的。。

#1


求各位大神指导

#2


类型转换错误了。

#3


楼主不哭。。

#4


引用 楼主 Nickjun123 的回复:
05-14 10:55:56.524: WARN/System.err(505): java.lang.ClassCastException: org.ksoap2.serialization.SoapObject
在soap获取webservice暑假时出现了这个异常。后台返回的是Vector集合。且后台没错。求各位大神指导!

前台获取数据的代码如下:
public List getAllgoods(){
List flag=new ArrayList();
 final SoapObject so = new SoapObject("http://dao.shop.com/", "showa");
        so.addProperty("arg0","a");
//         so.addProperty("arg1",str2);
//         so.addProperty("arg2",str3);
//         so.addProperty("arg3",str4);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
     envelope.bodyOut = so;
     HttpTransportSE ht = new HttpTransportSE("http://10.0.2.2:8080/dinghuohoutai/showgoodPort?wsdl");
     try{
     ht.call("http://dao.shop.com/showa", envelope);
     if(envelope.getResponse()!=null){
     System.out.println(envelope.getResponse().toString());
     //Object t=(SoapObject) envelope.bodyIn;
     Object t=envelope.getResponse();
     Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     /*Vector<SoapObject> v=(Vector<SoapObject>)t;
     System.out.println(v.size());
     for(SoapObject s:v){
     goods g=new goods();
     g.setGoodid((int)s.getProperty(1));
     g.setGoodname((String)s.getProperty(2));
     g.setParice((int)s.getProperty(3));
     g.setYuliang((int)s.getProperty(4));
     g.setDetail((String)s.getProperty(5));
     g.setCatogry((String)s.getProperty(6));
     flag.add(g);
     }*/
     return flag;
     }
     } catch(Exception e){ 
     e.printStackTrace();
return flag;

     }
     return flag;
}

这个类型转换是按照http://v.youku.com/v_show/id_XNTg5ODgyNTM2.html?firsttime=1156视频里的写的。而且他上面得到的对的。。

#5


引用 2 楼 rui888 的回复:
类型转换错误了。
这个类型转换是按照http://v.youku.com/v_show/id_XNTg5ODgyNTM2.html?firsttime=1156视频里的写的。而且他上面得到的对的。。