HttpClient를 사용하여 내 서블릿에 도달하는 안드로이드 앱을 가지고 있습니다. 내 서블릿 이 Tomcat에 배포되었습니다. 그것은 내 HTC 매직에 설치됩니다.안드로이드의 HttpClient : UMTS/3G를 통한 NoHttpResponseException
Wifi에 연결하면 실행됩니다. 작동합니다. 3G (GSM 데이터 네트워크)에 연결할 때 실행하면 작동하지 않지만 내 서블릿에 도달했습니다. 다른 한마디로, 내 전화가 응답 결코 보인다 : 내 서블릿으로 패키지되어 테스트 HTML 페이지를 활성화하기 위해 3G를 통해 웹 브라우저를 사용하는 경우
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)
를, 그것은 성공과 같은 서블릿 (도달 페이지는 응답을받습니다).
어떻게 HttpClient를 디버깅하거나 모든 것을 덤프하도록 요청할 수 있습니까?
누군가가 무슨 일이 일어나고 있는지에 대한 단서가 있습니까?
요청 사항이 서버 로그를 통해 확인하는지 확인 했습니까? 그렇다면 로그에서 아무 것도 알려주나요 (예 : 서버 측 오류)? – CommonsWare
서버가 요청을 받았을 때 (매우 빨리) 응답을 제공합니다. 요청이 Wi-Fi를 사용할 때와 매우 비슷합니다. HttpClient를 디버깅 할 수있는 것이 더 효율적입니다 ... 예외는 오랜 시간이 지난 후에 발생합니다. 10 분 정도 지나면 예외가 발생합니다. 사실이라면 공중에서 내 반응을 잃어 버리는 것입니다. 내 GSM 네트워크에 필터링 기능이 있습니까? – Hubert
흥미롭게도 proxy.cwg.net에 설치되어있는 squid 서버가 원인 인 것 같습니다. 하지만 같은 조건에서 HttpClient가 아닌 테스트 HTML 페이지에서 작동하는 이유는 무엇입니까? – Hubert