I think I have another idea. If you use 'Basic' authentication scheme on
the proxy, try using preemptive proxy authentication.
Oleg
On Thu, 2003-07-10 at 21:32, Ramanan nr wrote:
> 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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]