360引起的Soap的java.io.EOFException错误

昨天,我们的后视镜终端不能对讲,我们定位了很长时间,从服务接口到终端程序,整了一整天,发现是360的事。

具体技术问题:C#.net写的WebService接口。Windows终端访问没有问题,而Andriod终端访问出现以下错误。

AXLib.Utility.RuntimeExceptionEx: java.io.EOFException-->java.io.EOFException
-----------------
java.lang.Thread.run:856
com.cityctrl.android.controller.act.CoreActivity$84.run:6060
com.cityctrl.android.controller.service.TalkService.reEnterRepeat:352
com.cityctrl.android.controller.service.TalkService.connectInternet:112
com.cjzx.androidsdk.SDKInterface.Start:211
com.cjzx.androidsdk.Net.WSInterface.Test:44
com.cjzx.androidsdk.Net.WebServiceInterface.Test:79
com.cjzx.androidsdk.Net.WebServiceInterface.Call:54
com.cjzx.androidsdk.Net.WebServiceInterface.Call:68
    java.io.EOFException-->null
    -----------------
    java.lang.Thread.run:856
    com.cityctrl.android.controller.act.CoreActivity$84.run:6060
    com.cityctrl.android.controller.service.TalkService.reEnterRepeat:352
    com.cityctrl.android.controller.service.TalkService.connectInternet:112
    com.cjzx.androidsdk.SDKInterface.Start:211
    com.cjzx.androidsdk.Net.WSInterface.Test:44
    com.cjzx.androidsdk.Net.WebServiceInterface.Test:79
    com.cjzx.androidsdk.Net.WebServiceInterface.Call:54
    com.cjzx.androidsdk.Net.WebServiceInterface.Call:63
    org.ksoap2.transport.HttpTransportSE.call:77
    com.cjzx.androidsdk.Net.ServiceConnectionSE.openInputStream:49
    libcore.net.http.HttpURLConnectionImpl.getInputStream:168
    libcore.net.http.HttpURLConnectionImpl.getResponse:274
    libcore.net.http.HttpEngine.readResponse:784
    libcore.net.http.HttpEngine.readResponseHeaders:544
    libcore.io.Streams.readAsciiLine:203

    AXLib.Utility.RuntimeExceptionEx: java.io.IOException: unexpected end of stream on Connection{125.208.1.201:8080, 
proxy=DIRECT hostAddress=125.208.1.201 cipherSuite=none protocol=http/1.1} (recycle count=0)-->java.io.IOException:
unexpected end of stream on Connection{125.208.1.201:8080, proxy=DIRECT hostAddress=125.208.1.201 cipherSuite=none protocol=http/1.1} (recycle count=0)
java.lang.Thread.run:776com.cityctrl.service.TalkService$1.run:220com.cityctrl.service.TalkService.reEnterRepeat:469com.cityctrl.service.TalkService.connectInternet:323
com.cjzx.androidsdk.SDKInterface.Start:203com.cjzx.androidsdk.Net.WSInterface.Test:44
com.cjzx.androidsdk.Net.WebServiceInterface.Test:79
com.cjzx.androidsdk.Net.WebServiceInterface.Call:54
com.cjzx.androidsdk.Net.WebServiceInterface.Call:68
java.io.IOException: unexpected end of stream on Connection{125.208.1.201:8080, proxy=DIRECT hostAddress=125.208.1.201 cipherSuite=none protocol=http/1.1} (recycle count=0)
-->unexpected end of stream on Connection{125.208.1.201:8080, proxy=DIRECT hostAddress=125.208.1.201 cipherSuite=none protocol=http/1.1} (recycle count=0)
-----------------
java.lang.Thread.run:776 com.cityctrl.service.TalkService$1.run:220
com.cityctrl.service.TalkService.reEnterRepeat:469 com.cityctrl.service.TalkService.connectInternet:323
com.cjzx.androidsdk.SDKInterface.Start:203 com.cjzx.androidsdk.Net.WSInterface.Test:44
com.cjzx.androidsdk.Net.WebServiceInterface.Test:79
com.cjzx.androidsdk.Net.WebServiceInterface.Call:54
com.cjzx.androidsdk.Net.WebServiceInterface.Call:63
org.ksoap2.transport.HttpTransportSE.call:77
com.cjzx.androidsdk.Net.ServiceConnectionSE.openInputStream:49
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream:243
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse:405
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute:463
com.android.okhttp.internal.http.HttpEngine.readResponse:782
com.android.okhttp.internal.http.HttpEngine.readNetworkResponse:906
com.android.okhttp.internal.http.HttpTransport.readResponseHeaders:80
com.android.okhttp.internal.http.HttpConnection.readResponse:210
java.io.EOFException: not found: size=0 content=...--> not found: size=0 content=...
-----------------
java.lang.Thread.run:776
com.cityctrl.service.TalkService$1.run:220
com.cityctrl.service.TalkService.reEnterRepeat:469
com.cityctrl.service.TalkService.connectInternet:323
com.cjzx.androidsdk.SDKInterface.Start:203
com.cjzx.androidsdk.Net.WSInterface.Test:44
com.cjzx.androidsdk.Net.WebServiceInterface.Test:79
com.cjzx.androidsdk.Net.WebServiceInterface.Call:54
com.cjzx.androidsdk.Net.WebServiceInterface.Call:63
org.ksoap2.transport.HttpTransportSE.call:77
com.cjzx.androidsdk.Net.ServiceConnectionSE.openInputStream:49
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream:243
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse:405
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute:463
com.android.okhttp.internal.http.HttpEngine.readResponse:782
com.android.okhttp.internal.http.HttpEngine.readNetworkResponse:906
com.android.okhttp.internal.http.HttpTransport.readResponseHeaders:80
com.android.okhttp.internal.http.HttpConnection.readResponse:191
com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict:200

最后,将接口服务改了下端口,发现却可以用。这就奇怪了,同样的代码,不一样的问题。

最终,想到了先把360安全程序关掉试了试,结果就可以了。

未决疑问问题:360为何对Windows端WebService访问通过,却对Andriod端的访问进行禁止呢?

原文地址:https://www.cnblogs.com/szpgpp/p/9951344.html