Hi Mike, Oleg

Thanks for the response.

Though I have the latest build, I am still getting the
socket closed exception. 

I guess I am missing something in the funda.

Here is my code:


                
        // SET SYS PROP FOR HTTPCLIENT DEBUG
                System.setProperty("org.apache.commons.logging.Log",
"org.apache.commons.logging.impl.SimpleLog"); 
        
System.setProperty("org.apache.commons.logging.simplelog.showdatetime",
"true"); 
        
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire",
"debug"); 
        
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient",
"debug"); 
                
                
                //the following decleration can be changed to
HttpMethodBase
                aHttpClient = new HttpClient();
                PostMethod method = new PostMethod(aURL);
                method.setFollowRedirects(true);
                method.setStrictMode(false);
                method.setRequestBody(aRequest);
                method.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");           
        
method.setRequestContentLength(PostMethod.CONTENT_LENGTH_AUTO);
                //method.setRequestContentLength(aRequest.length());
                
                int aStatusCode = -1;
                String aResponse = null;
                try {

                aHttpClient.getState().setProxyCredentials(
                                null,
                                null,
                                new UsernamePasswordCredentials(ProxyUID,
ProxyPwd));

                        HostConfiguration aHConfig = new
HostConfiguration();
                        aHConfig.setHost(aHost,aPort,aProtocol);
                        aHConfig.setProxy(aProxyHost, aProxyPort);
                        method.setHostConfiguration(aHConfig);
                        
                        aHttpClient.setConnectionTimeout(10000);
                        //aHttpClient.setTimeout(10000);

                        // BEGIN RETRY CODE

                        int attempt = 0;
                        Exception retriedException = null;
                        // We will retry up to 3 times.
                        while (aStatusCode == -1 && attempt < 3) {
                                try {
                                        
                                        attempt++;
                                
aHttpClient.getHttpConnectionManager().getConnection(aHConfig).setSoTimeout(10000);
                        
                                        aStatusCode = 
aHttpClient.executeMethod(method);

                                        //if successful come off the loop
                                        
                                } catch (HttpRecoverableException e) {
                                        retriedException = e;
                                        if (log.isDebugEnabled()) {
                                                log.debug("A recoverable exception 
occurred,
retrying.", e);
                                                log.debug("Status code from 
executMethod = " +
aStatusCode);
                                        }

                                } catch (HttpException he) {
                                
                                        //throw something
                                        
                                } catch (IOException e) {

                                        //throw something                              
         

                                }
                        }//end while
                        // Check that we didn't run out of retries.
                        if (aStatusCode == -1) {
                                log.debug("Failed to recover from exception.");
                                //throw something
                        }

                        // Check that we didn't get a status other than OK
(200).
                        if (aStatusCode != HttpStatus.SC_OK) {
                                log.debug("Bad status code from executMethod = " +
aStatusCode);
                                //throw something
                        }



                //Get a handle to the input stream returned by the
server. 
                //BufferedInputStream rspStream = new
BufferedInputStream( method.getResponseBodyAsStream()
);

                String strResponse = null;

                StringBuffer strBuffer = new StringBuffer();

                BufferedReader reader = null;

                try {

                        //Get a handle to the input stream returned by the
server. 
                        InputStream inStream =
aMethod.getResponseBodyAsStream();
                        reader = new BufferedReader(new
InputStreamReader(inStream));
                        String line = null;
                        int letter = 0;
                        while ((letter = reader.read()) != -1)
                                strBuffer.append((char) letter);
                        inStream.close();
                } catch (Exception e) {
                        //create exception
                } finally {
                        if (exceptionToThrow != null) {
                                //throw exception
                        }
                } //end finally
                return strBuffer.toString();

        

The request I send to the Postmethod is an XML
request.

the url is : https://....


I tried the same code with http and it works fine (as
expected I am getting a 404 from the server).


any light.. will be helpful.

-
NRR




--- Michael Becke <[EMAIL PROTECTED]> wrote:
> The patch for 20938 should have been included in
> beta 2.
> 
> Mike
> 
> Oleg Kalnichevski wrote:
> > I am a bit doubtful that the bug fix #20938 had
> anything to do with your
> > problem. Anyway, it can get the most recent
> nightly build at the
> > following location
> > 
> >
>
http://cvs.apache.org/builds/jakarta-commons/nightly/commons-httpclient/
> > 
> > If the problem persists after upgrade, please
> refer to the
> > trouble-shooting guide for instructions
> > 
> >
>
http://jakarta.apache.org/commons/httpclient/troubleshooting.html
> > 
> > Cheers
> > 
> > Oleg
> > 
> > 
> > On Thu, 2003-07-10 at 20:10, Ramanan nr wrote:
> > 
> >>Hello,
> >>
> >>I am using the latest (downloaded early this week)
> >>commons-httpclient-2.0-beta2.jar
> >>
> >>Works fine with http.
> >>
> >>I am trying to make a https connection thru a
> proxy.
> >>I am getting the following exception:
> >>
> >>java.net.SocketException: Socket closed
> >>    at
> java.net.PlainSocketImpl.socketGetOption(Native
> >>Method)
> >>    at
>
>>java.net.PlainSocketImpl.getOption(PlainSocketImpl.java:214)
> >>    at
> java.net.Socket.getSendBufferSize(Socket.java:548)
> >>    at
>
>>org.apache.commons.httpclient.HttpConnection.tunnelCreated(HttpConnection.java:756)
> >>    at
>
>>org.apache.commons.httpclient.ConnectMethod.execute(ConnectMethod.java:204)
> >>    at
>
>>org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:638)
> >>    at
>
>>org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:500)
> >>
> >>Looks like this was addressed as Bug 20938 and got
> >>fixed (changes to HttpMethodBase.java)
> >>
> >>How do I get to the binary version of the patch? 
> >>I don't have the environment to compile the
> httpclient
> >>src.
> >>
> >>Thanks in advance
> >>NRR
> >>
> >>__________________________________
> >>Do you Yahoo!?
> >>SBC Yahoo! DSL - Now only $29.95 per month!
> >>http://sbc.yahoo.com
> >>
>
>>---------------------------------------------------------------------
> >>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]
> 


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to