Ok, so if I can ask stupid questions, I will not obstruct myself :o)
Here is a light version of my code :
HttpClient client = new HttpClient();
client.setTimeout(60000);
HttpMethod method = null;
try {
method = new MyGetMethod(adresse);
} catch(Exception e) {
new Erreur("21;Erreur lors du décodage de l'URL
"+e.getMessage(), "Pas de code source", this);
}
// Execute the method. int statusCode = -1; // We will retry up to 3 times. for (int attempt = 0; statusCode == -1 && attempt < 3; attempt++) { try { statusCode = client.executeMethod(method); } catch (HttpRecoverableException e) { System.err.println("A recoverable exception occurred, retrying." + e.getMessage()); } catch (IOException e) { System.err.println("Failed to download file."); } }
// Check that we didn't run out of retries. if (statusCode == -1) { System.err.println("Failed to recover from exception."); }
// Read the response body. try { byte[] responseBody = method.getResponseBody(); leCode.set(new String(responseBody, this.getCodageUrl())); } catch (SocketTimeoutException e) { System.err.println("timeout error" + e.getMessage()); } catch (Exception e) { System.out.println("mauvais encodage"); }
// Release the connection. method.releaseConnection();
The problem is that hte method.getReponseBody can't throw a SocketTimeoutException but that's this method who is giving me problems
Kalnichevski, Oleg a écrit :
You are more than welcome to ask any kind of HttpClient related questions
Oleg
-----Original Message----- From: Mathias Cianci [mailto:[EMAIL PROTECTED] Sent: Thursday, August 12, 2004 3:02 PM To: Commons HttpClient Project Subject: Re: timeout while waiting from reponse body ?
Thank you Oleg and excuse me for asking such questions. I was searching with the TimeoutController class, and I've not seen the
obvious answer.
Kalnichevski, Oleg a écrit :
Setting socket timeout to a positive value will do the trick
HttpClient client = new HttpClient();
client.setTimeout(60000); // 60 sec timeout