在使用KSoap2调用webservice遇到的问题
2013-05-03 10:06
337 查看
问题一:在主线程中无法访问intenet
由于我采用的是android的4.2版本,在主线程充调用webservice的时候,遇到Network on Main ThreadException异常。通过查阅网上资料,可以有以下两种解决方案。
1.在当前的Activity中加入以下代码:
在点击按钮事件时创建一个新线程:
问题二:在使用webservice时,遇到java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive错误的解决
在做android Webservice开发的时候我一开始使用SoapObject soapObject = (SoapObject) envelope.getResponse();这个来接受返回来的值,但产生java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive这样的错误;换成使用envelope.bodyIn();方法仍有这个错误,后通过查阅网上资料,可以用object soapObject = envelope.getResponse();来接受返回的值。根据网上的资料,envelope.getResponse();适用于返回值类型为string的结果;envelope.bodyIn();适用于返回值为byte[]的结果集(这个还有待验证)
由于我采用的是android的4.2版本,在主线程充调用webservice的时候,遇到Network on Main ThreadException异常。通过查阅网上资料,可以有以下两种解决方案。
1.在当前的Activity中加入以下代码:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() // or .detectAll() for all detectable problems .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .penaltyLog() .penaltyDeath() .build());2.利用线程来解决
在点击按钮事件时创建一个新线程:
new Thread(loginThread).start();并在run方法中添加具体实现
Runnable loginThread = new Runnable() { public void run() { //具体实现方法 } }
问题二:在使用webservice时,遇到java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive错误的解决
在做android Webservice开发的时候我一开始使用SoapObject soapObject = (SoapObject) envelope.getResponse();这个来接受返回来的值,但产生java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive这样的错误;换成使用envelope.bodyIn();方法仍有这个错误,后通过查阅网上资料,可以用object soapObject = envelope.getResponse();来接受返回的值。根据网上的资料,envelope.getResponse();适用于返回值类型为string的结果;envelope.bodyIn();适用于返回值为byte[]的结果集(这个还有待验证)
相关文章推荐
- 关于安卓调用C#的WebService上传图片问题(不使用ksoap2)
- Android使用KSOAP2调用WebService及正确导入jar包的问题
- Android使用KSOAP2调用WebService及正确导入jar包的问题
- 关于安卓调用C#的WebService上传图片问题(不使用ksoap2)
- Android使用KSOAP2调用WebService及正确导入jar包的问题
- 关于 ksoap2调用 webservice 遇到的一些问题
- Android使用KSOAP2调用WebService及正确导入jar包的问题(转)
- 在Android 中使用KSOAP2调用WebService
- Android使用KSOAP2调用WebService出现java.lang.NoClassDefFoundError.的解决办法
- 在Android 中使用KSOAP2调用WebService
- 使用JNA调用DLL函数遇到的问题
- webservice接口常见问题1:客户端使用SOAP方式调用CXF服务时异常
- 在Android中使用Android Ksoap2调用WebService
- Axis2发布webservice过程 和Axi af16 s2调用wsdl 及遇到的问题
- loadrunner使用system()函数调用Tesseract-OCR识别验证码遇到的问题
- PB调用WebService遇到的问题
- Android使用ksoap2调用C#中的webservice函数方法
- 在Android 中使用KSOAP2调用WebService
- 调用webservice遇到基础连接已关闭的问题
- 使用axis编写客户端代码调用webservice的一些问题