2017-11-20 12 views
-1

NoHttpResponseException을받는 이유를 제안 할 수 있습니까 ?? 내 응용 프로그램이 서비스에서이 예외를 지속적으로 수신합니다. 이것은 클라이언트 측 문제 또는 서버 측입니까?NoHttpResponseException의 이유

이러한 종류의 문제로 디버깅하는 방법은 무엇입니까? 다음은

동일한

대한 스택 트레이스이다 스레드 2 INFO (com.amazonaws.http.AmazonHttpClient executeHelper : 581) - HTTP 요청을 실행할 수 없습니다 sqs.ap 남동-1. amazonaws.com:443 응답하지 못했습니다. org.apache.http.NoHttpResponseException : sqs.ap-southeast-1.amazonaws.com:443 응답하지 않았습니다. org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead (DefaultHttpResponseParser .java : 143) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead (DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse (AbstractMessag org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader (DefaultClientConnection.java:259) 에서 org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader (AbstractHttpClientConnection.java:283) 에서 eParser.java:261) 에서 org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader (ManagedClientConnectionImpl.java:209) org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse (HttpRequestExecutor.java:272) com.amazonaws.http.protocol에서 에서 . SdkHttpRequestExecutor.doReceiveResponse (SdkHttpRequestExecutor.java:66) org.apache.http.protocol.HttpRequestExecutor.execute에서 (HttpRequestExecutor.java:124) org.apache.http.impl.client.DefaultRequestDirector.tryExecute (DefaultRequestDirector.java에서 : 686) 에서 org.apache.http.impl.client.DefaultRequestDirector.execute (DefaultRequestDirector.java:488) at org.apache.http.impl.client.AbstractHttpClient.doExecute (AbstractHttpClient.java:884) at org.apache. com.amazonaws.http.AmazonHttpClient.executeOneRequest에서 http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:82) org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:55)에서 (com.amazonaws.http.AmazonHttpClient.doExecute (AmazonHttpClient.java:362) com.amazonaws.http에서 에서 com.amazonaws.http.AmazonHttpClient.executeHelper (AmazonHttpClient.java:574) 에서 AmazonHttpClient.java:819) . AmazonHttpClient.executeWithTimer (AmazonHttpClient.java:328) at com.amazonaws.http.AmazonHttpClient.execute (AmazonHttpClient.java:307) COM에서 com.amazonaws.services.sqs.AmazonSQSClient.deleteMessage (AmazonSQSClient.java:1472) 에서 com.amazonaws.services.sqs.AmazonSQSClient.invoke (AmazonSQSClient.java:2419) 에서 . micromax.datasets.queue.SQSPoller.pullJsonFromQueue (SQSPoller.java:142) com.micromax.datasets.scheduler.MultiQueuePull.run (MultiQueuePull.java:28) at java.lang.Thread.run (Thread.java : 745)

+1

상태 코드를 확인 하시겠습니까? SSL 연결을위한 포트가 아닙니까? – JazZ

+0

예외를 표시하고 사용중인 기술의 이름을 지정할 수 있습니까? 어쩌면 응용 프로그램의 코드를 보여줄 수 있습니까?어쩌면 [오류 ID] (https://stackoverflow.com/a/20689206/7926064)일까요? – BNT

+0

내 잘못 안내해 죄송합니다. – masSdev

답변

1

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html에 정의 :

Client Error 4xx 

The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server SHOULD include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents SHOULD display any included entity to the user. 

If the client is sending data, a server implementation using TCP SHOULD be careful to ensure that the client acknowledges receipt of the packet(s) containing the response, before the server closes the input connection. If the client continues sending data to the server after the close, the server's TCP stack will send a reset packet to the client, which may erase the client's unacknowledged input buffers before they can be read and interpreted by the HTTP application. 

B asically, 그것은 모든 4xx가 클라이언트 측으로부터의 에러라는 것을 의미합니다. 하지만 443은 HTTP 표준에 정의되어 있지 않으므로 서비스 설명서가있는 경우 서비스 설명서에서 검색해야합니다.