Hi Oleg, Yes, the connection is closed by the server. But it is closed because the HttpClient did not send it the request BODY. The problem is that occasionally HttpClient does not send the request as I described. For a few times, it does send the request and then it just doesnt send it, but only once. And then it is back to sending request body. The server tries to read the body but can not, hence it closes the connection for the reuqest which had no body and had Content-Length header value > 1. I have sent you the reuqest in error from the tunnel. Looks like it sent the Content-Length header, but not the body of the request.
Hope this helps, Zulfi >>> [EMAIL PROTECTED] 10/8/2004 12:46:04 PM >>> Zulfi HttpRecoverableException: "Software caused connection abort: recv failed" usually means that the connection was closed on the server side while HttpClient was still reading the response. The is more likely to be the server side problem. What exactly do you mean by "occasionally HttpClient does not send the request body". Does it throw an exception, or blocks, or something else? Oleg On Fri, 2004-10-08 at 19:53, Zulfi Umrani wrote: > I am getting the following exception for redirect responses from > HttpClient. Attached is the log from HttpClient. I know that HttpClient > does not support redirect directly, hence we have written some code to > handle that. The problem seems to be that, occasionally HttpClient does > not send the request body though it writes out the Content-Length > header. If you send the same request one after another by starting a new > JVM for each request, such as running a client from commandline, you > will see that, it sends the request body for a few times and then it > does not send it once and then it starts to send it again. This behavior > keeps repeating. Below is the request sent out by HttpClient and > response received by it, captured through a tunnel. I will appreciate if > someone can explain the behavior. > > Exception in thread "main" java.rmi.RemoteException: > java.net.SocketException: S > oftware caused connection abort: recv failed; nested exception is: > org.apache.commons.httpclient.HttpRecoverableException: > java.net.SocketE > xception: Software caused connection abort: recv failed > at > com.sssw.jbroker.web.ServiceException.mapToRemote(ServiceException.ja > va:92) > at hello.HelloBinding_Stub.sayHello(HelloBinding_Stub.java:85) > at hello.Client.main(Client.java:25) > Caused by: org.apache.commons.httpclient.HttpRecoverableException: > java.net.Sock > etException: Software caused connection abort: recv failed > at > org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodB > ase.java:1965) > at > org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMetho > dBase.java:2659) > at > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.j > ava:1093) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav > a:675) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav > a:558) > > Request going out from HttpClient: > POST /services/hello HTTP/1.1 > SOAPAction: "http://www.hello/sayHello" > Content-Type: text/xml; charset=utf-8 > Connection: keep-alive > User-Agent: Jakarta Commons-HttpClient/2.0final > Host: 840serv7:54892 > Content-Length: 421 > > Response received by HttpClient: > HTTP/1.1 307 redirected > Set-Cookie: dispatch-http-rt=840serv7:80; path=/; > Content-Length: 0 > Location: http://840serv7:80/services/hello > > Thanks, > Zulfi > > ______________________________________________________________________ > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]