在做android Webservice开发的时候一般情况下大家接受webservice服务器返回值的时候都是使用
SoapObject soapObject = (SoapObject) envelope.getResponse();这个来接受返回来的值,但这种方法往往会产生Java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive这样的错误。
根据本人的实际操作跟别人的帮助,终于解决了这个问题。
在服务器端返回值是String类型的数值的时候使用SoapObject soapObject = (SoapObject) envelope.getResponse();和 SoapObject result = (SoapObject)envelope.bodyIn;这两种方法来接受值都会报出
java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive这样的错误。
解决方法:
Object object = (Object)envelope.getResponse();就可以解决这种错误。
使用.toString() 就是返回的结果
各位感兴趣的话,可以参阅:
参考1:http://blog.csdn.net/windzou36/article/details/7315898
参考2:http://blog.csdn.net/whybiang/article/details/6533051
参考3:
http://topic.csdn.net/u/20110727/11/fbce9413-686c-4227-bb23-c74d7b9a9f0a.html