You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Labajo, Dennis" <de...@nwa.com> on 2004/08/19 19:29:25 UTC

HttpRecoverableException

 

Hi all.

 

I badly need help on an error (HttpRecoverableException) I'm getting.
Here's part of my java source code:

 

 

<< the class where httpclient instance is created >>

 

MultiThreadedHttpConnectionManager cmgr = new

      MultiThreadedHttpConnectionManager();

cmgr.setConnectionStaleCheckingEnabled( true );

cmgr.setMaxConnectionsPerHost( 10 );

cmgr.setMaxTotalConnections( 100 );

HttpClient httpclient = new HttpClient(cmgr);

httpclient.setConnectionTimeout(30000);

httpclient.setTimeout(30000);

httpclient.setState( this.commonHttpState);

 

 

 

<< class where httppost is made >>

 

DefaultMethodRetryHandler methodretry = new DefaultMethodRetryHandler();

methodretry.setRequestSentRetryEnabled(true);

PostMethod httppost = new PostMethod(this.server_url.toString());

httppost.setMethodRetryHandler(methodretry);

httpClient.executeMethod(httppost);

 

 

 

I do see the recoverable exception caught three times:



2004/08/19 11:55:44:650 CDT [INFO] HttpMethodBase - -Recoverable
exception caught when processing request

 

But on the fourth recoverable exception, I get this:

 

2004/08/19 11:56:07:440 CDT [WARN] HttpMethodBase - -Recoverable
exception caught but MethodRetryHandler.retryMethod() returned false,
rethrowing exception

2004/08/19 11:56:07:440 CDT [DEBUG] MultiThreadedHttpConnectionManager -
-Freeing connection,
hostConfig=HostConfiguration[host=nwapeople2.nwa.com,
protocol=https:443, port=443]

2004/08/19 11:56:07:440 CDT [DEBUG] MultiThreadedHttpConnectionManager -
-Notifying no-one, there are no waiting threads

2004/08/19 11:56:07:490 CDT [WARN] MainMenu - -Web Service Exception:
he.commons.httpclient.HttpRecoverableException: Error in parsing the
status  line from the response: unable to find line starting with "HTTP"

 

 

 

Is there something I'm not doing right? 

 

Thanks.

 

Dennis

 

 

 


Re: HttpRecoverableException

Posted by Ortwin Glück <or...@nose.ch>.
Dennis,

The question is, why does the method need to be retried in the first 
place. You should avoid having to retry expensive methods like POST and 
PUT normally. Furthermore a lot of questinos arise here:
  * Which version of HttpClient are you using?
  * Is it an authentication problem? (would expect a different exception)
  * Are you using a proxy by any chance?
  * Are you opening many simultanous connections to the same host?
  * Which HTTP Version does the server use?
  * Can you provide a wire log or packet log of the communication?

Thanks

Ortwin Glück

Labajo, Dennis wrote:
>  
> 
> Hi all.
> 
>  
> 
> I badly need help on an error (HttpRecoverableException) I'm getting.
> Here's part of my java source code:
> 
>  
> 
>  
> 
> << the class where httpclient instance is created >>
> 
>  
> 
> MultiThreadedHttpConnectionManager cmgr = new
> 
>       MultiThreadedHttpConnectionManager();
> 
> cmgr.setConnectionStaleCheckingEnabled( true );
> 
> cmgr.setMaxConnectionsPerHost( 10 );
> 
> cmgr.setMaxTotalConnections( 100 );
> 
> HttpClient httpclient = new HttpClient(cmgr);
> 
> httpclient.setConnectionTimeout(30000);
> 
> httpclient.setTimeout(30000);
> 
> httpclient.setState( this.commonHttpState);
> 
>  
> 
>  
> 
>  
> 
> << class where httppost is made >>
> 
>  
> 
> DefaultMethodRetryHandler methodretry = new DefaultMethodRetryHandler();
> 
> methodretry.setRequestSentRetryEnabled(true);
> 
> PostMethod httppost = new PostMethod(this.server_url.toString());
> 
> httppost.setMethodRetryHandler(methodretry);
> 
> httpClient.executeMethod(httppost);
> 
>  
> 
>  
> 
>  
> 
> I do see the recoverable exception caught three times:
> 
> 
> 
> 2004/08/19 11:55:44:650 CDT [INFO] HttpMethodBase - -Recoverable
> exception caught when processing request
> 
>  
> 
> But on the fourth recoverable exception, I get this:
> 
>  
> 
> 2004/08/19 11:56:07:440 CDT [WARN] HttpMethodBase - -Recoverable
> exception caught but MethodRetryHandler.retryMethod() returned false,
> rethrowing exception
> 
> 2004/08/19 11:56:07:440 CDT [DEBUG] MultiThreadedHttpConnectionManager -
> -Freeing connection,
> hostConfig=HostConfiguration[host=nwapeople2.nwa.com,
> protocol=https:443, port=443]
> 
> 2004/08/19 11:56:07:440 CDT [DEBUG] MultiThreadedHttpConnectionManager -
> -Notifying no-one, there are no waiting threads
> 
> 2004/08/19 11:56:07:490 CDT [WARN] MainMenu - -Web Service Exception:
> he.commons.httpclient.HttpRecoverableException: Error in parsing the
> status  line from the response: unable to find line starting with "HTTP"
> 
>  
> 
>  
> 
>  
> 
> Is there something I'm not doing right? 
> 
>  
> 
> Thanks.
> 
>  
> 
> Dennis
> 
>  
> 
>  
> 
>  
> 
> 

-- 
  _________________________________________________________________
  NOSE applied intelligence ag

  ortwin glück                      [www]      http://www.nose.ch
  software engineer
  hardturmstrasse 171               [pgp id]           0x81CF3416
  8005 zürich                       [office]      +41-1-277 57 35
  switzerland                       [fax]         +41-1-277 57 12

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org