Here is the deal:
I have a simple app which connects and communicates with a tomcat service.
It works fine on wifi, but fails on 3G.
The stacktrace with HttpTransportSE's debug attribute set to true tells me that it couldn't read the error message, as if it was simply not connected:
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)
if I set debug to false, all it gives me is HTTP 400.
Here's the caller:
httpTransport = new HttpTransportSE(service, PING_TIMEOUT);
httpTransport.debug = true;
SoapSerializationEnvelope pack = new SoapSerializationEnvelope(SoapEnvelope.VER11);
pack.setOutputSoapObject(ping);
httpTransport.call("", pack);
this simple...
Is it a google security measure or something? Should I use SSL? Any ideas?