Erro temporário do Apache HttpClient: NoHttpResponseException
Eu tenho um webservice que está aceitando um método POST com XML. Ele está funcionando bem, em seguida, em alguma ocasião aleatória, ele não consegue se comunicar com o servidor jogando IOException com mensagemThe target server failed to respond
. As chamadas subsequentes funcionam bem.
Isso acontece principalmente quando eu faço algumas ligações e depois deixo meu aplicativo ocioso por uns 10-15 minutos. a primeira chamada que eu faço depois disso retorna este erro.
Eu tentei algumas coisas ...
Eu configurei o manipulador de repetição como
<code>HttpRequestRetryHandler retryHandler = new HttpRequestRetryHandler() { public boolean retryRequest(IOException e, int retryCount, HttpContext httpCtx) { if (retryCount >= 3){ Logger.warn(CALLER, "Maximum tries reached, exception would be thrown to outer block"); return false; } if (e instanceof org.apache.http.NoHttpResponseException){ Logger.warn(CALLER, "No response from server on "+retryCount+" call"); return true; } return false; } }; httpPost.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryHandler); </code>
mas esta nova tentativa nunca foi chamada. (sim estou usando o exemplo certo de cláusula). Enquanto depurando esta classe nunca sendo chamada.
Eu até tentei configurarHttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false);
mas sem uso. Alguém pode sugerir o que posso fazer agora?
IMPORTANTE Além de descobrir por que estou recebendo a exceção, uma das preocupações importantes que tenho é por que o retenshandler não está trabalhando aqui?