android使用ksoap2-android调用webservice时报java.io.EOFException错误
来源:互联网 发布:新加坡电信网络制式 编辑:程序博客网 时间:2024/06/10 08:21
报错代码如下:
java.io.EOFException at libcore.io.Streams.readAsciiLine(Streams.java:203)at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:547)at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:787)at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)at org.ksoap2.transport.ServiceConnectionSE.openInputStream(ServiceConnectionSE.java:66)at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:77)
我使用的版本是ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar,后台WebService是java写的,每次请求数据的时候,很大几率出现EOFException异常,在短时间内再次请求的时候就不会报这个异常了,能正常获取数据,我之前的解决办法如下:
int times=CONNECTION_TIMES;String result=ZHCG_WebService.getResponse(url, methodName, params);while(result==null×>0){//当结果为空时,尝试再次连接获取,但连接次数不超过2次result=ZHCG_WebService.getResponse(url, methodName, params);times--;}上面的ZHCG_WebService.getResponse()就是调用ksoap2-android的一个封装类,返回的数据就是请求结果,当返回结果为null(请求出现异常,如EOFException),则再次请求,times就是重连次数。这只是一时的解决办法。
第二种解决办法,见stackoverflow,它的办法就是如下:
<span style="white-space:pre"></span>HttpTransportSE transportSE=new HttpTransportSE(url, TIME_OUT);//添加HeaderProperty信息,解决调用call的时候报java.io.EOFException错误ArrayList<HeaderProperty> headerPropertyArrayList = new ArrayList<HeaderProperty>();headerPropertyArrayList.add(new HeaderProperty("Connection", "close"));transportSE.call(null, envelope,headerPropertyArrayList);
提问者说,使用这个办法问题依旧存在,但我使用这个办法解决了,我使用的ksoap2-android版本是3.2.0,再者stackoverflow的回答者还建议,如果问题还是存在的话,可以使用ksoap2-android-assembly-2.6.4版本的
之前遇到这个问题的时候,一直没有解决,都是使用第一种办法先过渡的,现在解决了,记录一下。
0 0
- android使用ksoap2-android调用webservice时报java.io.EOFException错误
- android-ksoap2 java.io.EOFException异常
- Android使用ksoap2 调用 WebService
- Android使用ksoap2调用webservice
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- Android使用ksoap2-android调用WebService学习
- 4.Android使用ksoap2-android调用WebService
- android ksoap2调用webservice
- Android模拟器使用KSOAP2调用WebService
- Android使用ksoap2调用C#webservice
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- 在Android 中使用KSOAP2调用WebService
- android系统数据库
- uploadify 3.2.1+spring mvc上传文件
- Opencl 第一节
- Lua 语法学习记录一
- 继承与派生
- android使用ksoap2-android调用webservice时报java.io.EOFException错误
- HDU3882
- ORACLE归档模式
- iOS uitextfield详细使用说明
- Hadoop-2.4.1学习之如何确定Mapper数量
- VB.NET 章鱼哥出品--利用API函数AnimateWindow创建Popup提示窗口,窗体的动画效果
- bmp_to_raw转BMP图片
- CSS学习历程《1》
- 嵌入式Linux 的虚拟文件系统剖析