在基于Axis2做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 =

envelope.getResponse();就可以解决这种错误。

如果服务器返回值的类型是byte[] 的时候,使用Object object = envelope.getResponse();和SoapObject result = (SoapObject)

envelope.bodyIn;都不会发生错误现象,但是在使用Object object = envelope.getResponse();取回来的值在使用base64进行解码和编码的时候会报出错误。如果使用SoapObject result = (SoapObject)envelope.bodyIn;就可以完整的将byte[]进行解码和编码

,byte[] ops = Base64.decode(result.getProperty(0).toString());至于在用SoapObject soapObject = (SoapObject)

envelope.getResponse();来接受byte[]返回值,由于时间关系我没有进行测试。。。有兴趣的人可以一起讨论。

这是经过我一晚上的测试和综合别人研究的结果进行总结的。

更多相关文章

  1. Android(安卓)studio升级AndroidX
  2. Android(安卓)- Android(安卓)Studio 自动(auto)添加import 语句
  3. android SharedPreferences 使用
  4. Android使用系统方法实现分享到QQ和微信!
  5. Android的线程使用来更新UI----Thread、Handler、Looper、TimerT
  6. Android(安卓)SDK文档之Drawable Mutations
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android EditText 设置行距不影响光标高
  2. 优化技术之Android(安卓)UI优化
  3. android 面试题集
  4. Android Calendar使用过程中遇到的问题
  5. Android 中文 API (27) —— SeekBar.OnSee
  6. Android --- BaseAdapter
  7. [Android]在App中使用相机
  8. Android之adb环境变量配置
  9. android dialog 动画
  10. Android 如何开发 Bottom Navigation 风