java.io.EOFException使用ksoap2 lib libcore.io.Streams.readAsciiLine(Streams.java:203)
03-26 14:12:19.045: E/Webservices(2863): java.io.EOFException 03-26 14:12:19.045: E/Webservices(2863): at libcore.io.Streams.readAsciiLine(Streams.java:203) 03-26 14:12:19.045: E/Webservices(2863): at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:560) 03-26 14:12:19.045: E/Webservices(2863): at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:813) 03-26 14:12:19.045: E/Webservices(2863): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274) 03-26 14:12:19.045: E/Webservices(2863): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486) 03-26 14:12:19.045: E/Webservices(2863): at org.ksoap2.transport.ServiceConnectionSE.getResponseCode(ServiceConnectionSE.java:103) 03-26 14:12:19.045: E/Webservices(2863): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:197) 03-26 14:12:19.045: E/Webservices(2863): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118) 03-26 14:12:19.045: E/Webservices(2863): at .utils.Webservices.callinternet(Webservices.java:125) 03-26 14:12:19.045: E/Webservices(2863): at .utils.Webservices.getResponse(Webservices.java:73) 03-26 14:12:19.045: E/Webservices(2863): at .utils.Webservices.getResponse(Webservices.java:79) 03-26 14:12:19.045: E/Webservices(2863): at .utils.Webservices.getResponse(Webservices.java:79) 03-26 14:12:19.045: E/Webservices(2863): at .utils.AsynTask.doInBackground(AsynTask.java:61) 03-26 14:12:19.045: E/Webservices(2863): at .utils.AsynTask.doInBackground(AsynTask.java:1) 03-26 14:12:19.045: E/Webservices(2863): at android.os.AsyncTask$2.call(AsyncTask.java:287) 03-26 14:12:19.045: E/Webservices(2863): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 03-26 14:12:19.045: E/Webservices(2863): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 03-26 14:12:19.045: E/Webservices(2863): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 03-26 14:12:19.045: E/Webservices(2863): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 03-26 14:12:19.045: E/Webservices(2863): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 03-26 14:12:19.045: E/Webservices(2863): at java.lang.Thread.run(Thread.java:856)
当我从android调用webservice时这个exception只有一段时间才能清楚这个请帮助我
我参加了
ArrayList headerPropertyArrayList = new ArrayList(); headerPropertyArrayList.add(new HeaderProperty("Connection", "close"));
这条线也没用
这是一个错误,我在使用ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar时遇到了同样的错误。 看起来这个问题自v3.1.1以来一直很普遍 (有些用户也在早期版本中遇到过这个问题)。 一位用户提供了解决此问题的解决方法。 据他介绍,
ArrayList headerPropertyArrayList = new ArrayList (); headerPropertyArrayList.add(new HeaderProperty("Connection", "close")); httpSE.call(SOAP_ACTION, envelope, headerPropertyArrayList);
做了伎俩。 我尝试过它,它对我有用。 如果您仍然遇到问题,那么您可以使用ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar 。 我在我的另一个项目中使用这个版本,它从来没有给我任何问题。
我得到了同样的错误,但我解决了,实际上soap webservice操作(方法)名称拼写错误,这就是为什么java.io.EOFExceptionexception被Ksoap2库抛出所以检查你的操作(方法)名称,命名空间名称和soapAction(名称)空间/方法名称)。 我认为这将帮助您处理此exception
嗨,我遇到了同样的问题。请使用连接超时参数来避免此exception。
HttpTransportSE androidHttpTransport = new HttpTransportSE("Your Url here",120000);
并在标题中设置连接关闭参数。
ArrayList headerPropertyArrayList = new ArrayList (); headerPropertyArrayList.add(new HeaderProperty("Connection", "close")); httpSE.call(SOAP_ACTION, envelope, headerPropertyArrayList);
EOFException – 表示在输入期间意外到达文件末尾或流末尾的信号。 此exception主要由数据输入流用于信号流的结束。 请注意,许多其他输入操作在流的末尾返回特殊值而不是抛出exception。
所以:在call()
你的HttpTransportSE
实例执行instance.getServiceConnection().openOutputStream().close();
mycode的:
HttpTransportSE androidHttpTransport = new HttpTransportSE(url); try { androidHttpTransport.call(mSoapAction, envelope); response = (SoapObject) envelope.bodyIn; androidHttpTransport.getServiceConnection().openOutputStream().close(); } catch (IOException | XmlPullParserException e) { e.printStackTrace(); }
- Android – 事实上REST / JSON客户端的实现?
- Android上的J7zip – 从存档和列表内容中提取
- android:text =“@ string / hello”和普通右键单击 – >文本视图组件 – > EditText之间的区别
- Android:在android中的Web视图中显示pdf从服务接收的字节
- 升级到cordova 3.1.0后,PushPlugin无法正常工作
- 获取每个jar文件的java.lang.NoClassDefFoundError
- Android RenderScript FinalizerWatchdogDaemon致命exception
- android 4.3蓝牙ble不叫onCharacteristicRead()
- 来源找不到Android?