2
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からWebサービスを呼び出すと、この例外が発生しますが、これをどのようにクリアできるかを教えてください

私は出席した

ArrayList<HeaderProperty> headerPropertyArrayList = new ArrayList<HeaderProperty>();
    headerPropertyArrayList.add(new HeaderProperty("Connection", "close"));

この行もだけど使い物にならない

4

4 に答える 4

10

これはバグです。 ksoap2-android-assembly-3.3.0-jar-with-dependencies.jarを使用しているときに同じエラーが発生します。この問題はv3.1.1 から蔓延しているようです(一部のユーザーは以前のリリースでもこの問題に直面していました)。あるユーザーが、この問題に取り組むための回避策を提供しました。彼によると、

ArrayList<HeaderProperty> headerPropertyArrayList = new ArrayList<HeaderProperty>();
headerPropertyArrayList.add(new HeaderProperty("Connection", "close"));
httpSE.call(SOAP_ACTION, envelope, headerPropertyArrayList);

トリックをしました。私はそれを試してみましたが、うまくいきました。それでも問題が解決しない場合は、ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar を使用できます。このバージョンを私の別のプロジェクトで使用していますが、問題は発生していません。

于 2014-09-04T04:39:57.970 に答える
0

こんにちは、同じ問題に直面しました。この例外を回避するには、接続タイムアウト パラメータを使用してください。

HttpTransportSE androidHttpTransport = new HttpTransportSE("Your Url here",120000);

また、ヘッダーに接続クローズパラメーターを設定します。

ArrayList<HeaderProperty> headerPropertyArrayList = new ArrayList<HeaderProperty>();
headerPropertyArrayList.add(new HeaderProperty("Connection", "close"));
httpSE.call(SOAP_ACTION, envelope, headerPropertyArrayList);
于 2016-05-18T09:45:26.743 に答える