2

交易是这样的:
我有一个简单的应用程序,它连接并与 tomcat 服务通信。
它在wifi上运行良好,但在3G上失败。

HttpTransportSE 的调试属性设置为 true 的堆栈跟踪告诉我它无法读取错误消息,就好像它根本没有连接:

java.io.IOException: BufferedInputStream is closed
    at java.io.BufferedInputStream.streamClosed(BufferedInputStream.java:118)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:279)
    at org.ksoap2.transport.HttpTransportSE.readDebug(HttpTransportSE.java:273)
    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:241)
    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)

如果我将调试设置为 false,它给我的只是 HTTP 400。

这是调用者:

httpTransport = new HttpTransportSE(service, PING_TIMEOUT);
httpTransport.debug = true;

SoapSerializationEnvelope pack = new SoapSerializationEnvelope(SoapEnvelope.VER11);
pack.setOutputSoapObject(ping);
httpTransport.call("", pack);

这么简单...
是谷歌安全措施还是什么?我应该使用 SSL 吗?有任何想法吗?

4

0 回答 0