Ho la mia app per Android che utilizza HttpClient per raggiungere il mio servlet distribuito sul mio Tomcat. È installato sul mio HTC Magic.HttpClient su Android: NoHttpResponseException tramite UMTS/3G
Se lo avvio quando connesso su Wifi: funziona. Se lo avvio quando connesso a 3G (rete dati GSM): non funziona ma viene raggiunto il mio servlet. In altre parole, sembra che il mio telefono non ha mai ottenere la risposta:
Technical problem while receiving response.
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:85)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:179)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
Se uso il browser web grazie alla tecnologia 3G per attivare la pagina di prova HTML che viene fornito con il mio servlet, raggiunge lo stesso servlet con successo (la pagina riceve la risposta).
Come è possibile eseguire il debug di HttpClient o chiedere di scaricare tutto?
Qualcuno ha idea di cosa sta succedendo?
Avete controllato i registri del server per vedere se la richiesta sta effettuando la connessione? In tal caso, i tuoi registri ti dicono qualcosa (ad esempio, errore lato server)? – CommonsWare
Il server riceve la richiesta (molto rapidamente) e dà una risposta con successo, nello stesso modo in cui lo fa per la richiesta che arriva quando si utilizza il wifi. Sarebbe più efficiente riuscire a eseguire il debug di HttpClient ... L'eccezione viene lanciata dopo molto tempo, più o meno 10 minuti, quindi suppongo, non ci sia davvero nulla che ritorni sul dispositivo. Se è vero, qualcosa sta perdendo la mia risposta nell'aria. La mia rete GSM potrebbe avere qualche filtro? – Hubert
È interessante notare che su proxy.cwg.net è installato un server calamaro che sembra essere la causa. Ma perché funziona con la pagina HTML di test e non con HttpClient nella stessa condizione? – Hubert