hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: java.net.SocketException: SSL handshake failure
Date Thu, 20 Jan 2005 22:35:17 GMT
Kesavan,

HttpClient 3.0 sports several massive improvements compared to 2.0.x. We
are planning to release the first RC very soon (maybe within a month or
so). If your application goes into production in a couple of months, I
do think you should consider upgrading to 3.0

Oleg


On Thu, 2005-01-20 at 20:20 +0000, Kesavan T.S wrote:
> Hi Oleg,
> Thank you so much for replying. I walked through http-client code little bit 
> to grasp this. Infact we are using this inside a message driven bean.  
> However as per stack trace I think the socket was created within the connect 
> timeout as otherwise the TimeoutController would have thrown exception 
> (unless join(long) fails to exit) . Also within the http -client its sets 
> the socket setSoTimeout(). At this point I beleive this  could be an issue 
> with IBM socket implementation.
> The httpclient 3.0 is listed as beta1 in the web site. Please advise if this 
> is production ready.
> Regards,
> kesavan
> 
> 
> >From: Oleg Kalnichevski <olegk@apache.org>
> >To: "Kesavan T.S" <tskfloyd@hotmail.com>
> >Subject: Re: java.net.SocketException: SSL handshake failure
> >Date: Wed, 19 Jan 2005 00:20:57 +0100
> >
> >[I just realized you are not subscribed to the list]
> >
> >Kesavan,
> >
> >I am sorry none of us reacted sooner. The problem is that HttpClient
> >2.0.x is Java 1.2.x compatible and there's no (reliable) way to
> >implement connect timeout prior to Java 1.4. Basically what HttpClient
> >2.0.x does to work the problem around is starting a controller thread
> >that waits for connection request to complete within a given period of
> >time. If connection cannot be established within the given time span,
> >the controller simply drops the Socket on the floor (so to speak),
> >throws an exception, and lets the garbage collector take care of the
> >mess. This approach cannot be 100% reliable and to make matters worse is
> >not compatible with EJB specification.
> >
> >Please consider upgrading to HttpClient 3.0, which uses reflection to
> >implement connect timeout when running in JVM 1.4 or above.
> >
> >Hope this clarifies things a little
> >
> >Oleg
> >
> >
> >On Tue, 2005-01-18 at 18:05 +0000, Kesavan T.S wrote:
> > > Hi ,
> > > Aoplogize for posting this again here which I had posted in dev 
> >list.Were
> > > using httpclient 2.02 on IBM Websphere 5.1. It works great but we get 3
> > > or 4 SocketException SSL Handshake failure  per day (for about 5000-8000
> > > hits) which is ok. But the problem is we are using connection time out 
> >and
> > > read timeout but during these exception looks like the write is hanging 
> >for
> > > much more than the timeout.
> > > We are doing
> > >
> > >         HttpClient httpClient = new HttpClient();
> > >         GetMethod getMethod = new GetMethod(getURLString());
> > >
> > >         httpClient.
> > >             setConnectionTimeout(5000);
> > >         httpClient.
> > >             setTimeout(5000);
> > >
> > >            try{
> > >             int responseCode = httpClient.executeMethod(getMethod);
> > >             Log.debug(this,"getData()","HTTP_RESPONSE_CODE = " +
> > > responseCode);
> > >             is = getMethod.getResponseBodyAsStream();
> > >
> > >             byte buf[] = new byte[4096];
> > >             int nSize = is.read(buf);
> > >            while(nSize>=0)
> > >            {
> > > 	String data = new String(buf,0,nSize);
> > > 	sBuffer.append(data);
> > > 	nSize = is.read(buf);
> > >            }
> > >            }finally
> > >            {
> > > 	if(is != null)is.close();
> > >                 getMethod.releaseConnection();
> > >            }
> > > This is the exception and during this exceptin the httpclient hangs for 
> >more
> > > than 120 seconds:
> > >
> > > Caused by: java.net.SocketException: SSL handshake failure
> > > 	at com.ibm.sslite.m.c(Unknown Source)
> > > 	at com.ibm.sslite.m.f(Unknown Source)
> > > 	at com.ibm.sslite.m.a(Unknown Source)
> > > 	at com.ibm.sslite.n.<init>(Unknown Source)
> > > 	at com.ibm.sslite.be.a(Unknown Source)
> > > 	at com.ibm.sslite.be.<init>(Unknown Source)
> > > 	at com.ibm.jsse.bs.a(Unknown Source)
> > > 	at com.ibm.jsse.b.a(Unknown Source)
> > > 	at com.ibm.jsse.b.write(Unknown Source)
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java(Compiled
> > > Code))
> > > 	at
> > > 
> >java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java(Inlined
> > > Compiled Code))
> > > 	at 
> >java.io.BufferedOutputStream.flush(BufferedOutputStream.java(Compiled
> > > Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java(Inlined
> > > Compiled Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java(Compiled
> > > Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java(Compiled
> > > Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java(Compiled
> > > Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java(Compiled
> > > Code))
> > > 	at
> > > 
> >org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java(Compiled
> > > Code))
> > >
> > > I would really appreciate if someone can suggest how to resolve this to
> > > timeout properly.
> > > Regards,
> > > kesavan
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> > >
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> 


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


Mime
View raw message