You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by fr...@b-rail.be on 2003/04/11 10:40:00 UTC

Re:Already tried to authenticate to "extranettes t.rkw-onafts.fgov.be#null" but still receiving 407

And yes, thanks in advance.

François


francois.geraerts@b-rail.be  (11/04/03  9:27):
>Hi,
>
>I use now the nightly build which fix previous problem i have before.
>Now i seem to have a problem to authenticate my client to the proxy. This code
work fine when i use the alpha 2 release
>But now i have this error:
>
>java.lang.IllegalStateException: Not Used.
>
> at org.apache.commons.httpclient.HttpMethodBase.checkUsed(HttpMethodBase.
 java:1580)
>
> at org.apache.commons.httpclient.methods.GetMethod.
 getResponseBodyAsStream(GetMethod.java:309)
>
> at be.brail.util.https.BrailHttpsBroker.postByte(BrailHttpsBroker.java:399)
>
> at be.brail.rkw.BrailComTools.login(BrailComTools.java:107)2003-04-11
 08:26:41,109
>INFO  <org.apache.commons.httpclient.HttpMethodBase> Already tried to
authenticate to "extranettest.rkw-onafts.fgov.be#null" but still receiving 407.
>
>2003-04-11 08:26:41,109 DEBUG <org.apache.commons.httpclient.ConnectMethod>
CONNECT status code 407
>
>2003-04-11 08:26:41,109 DEBUG <org.apache.commons.httpclient.methods.
GetMethod> enter GetMethod.getResponseBodyAsStream()
>
>
>
> at TestWithHttpInterface.main(TestWithHttpInterface.java:44)
>
>Exception in thread "main"
>
>
>Here is the part of code for the authentification:
>
>  public static synchronized HttpClient initialiseConnection(String host, int
port,
>                                                             String proxyhost,
int proxyport,
>                                                             String proxyUser,
String proxyPswd,
>                                                             String domain,
>
SecureProtocolSocketFactory sslSFact)
>  {
>
>
>    log4j.debug("Enter in brailSSLProtocol.initialiseConnection with proxy");
>
>    ///Nt authentification class needed to contact the proxy
>    NTCredentials usrPassCr = new NTCredentials(proxyUser,proxyPswd,proxyhost,
"CAMPBMZF");
>
>
>    HttpClient client = new HttpClient();
>    Protocol myHTTPS = new Protocol( "https", sslSFact, 443 );
>
>    client.getHostConfiguration().setHost(host,port,myHTTPS);
>    client.getHostConfiguration().setProxy(proxyhost,proxyport);
>
>    log4j.debug("Before the method setProxyCredentials");
>
>    client.getState().setProxyCredentials(null,usrPassCr);
>
>    log4j.debug("After the method setProxyCredentials");
>
>    return client;
>  }
>
>
>And the method where the error occurs:
>
>  public HttpServerResponse postByte(byte[] request, HttpPostParameter hpp ,
Collection parameters)
>      throws HttpsBrokerException
>  {
>
>    log4j.debug("Enter in Brail.HttpsBroker.postByte");
>
>    ///To manage the response from the server
>    HttpServerResponse serverResponse = null;
>
>
>    /// check of the session (HttpClient)
>    if(session == null)
>    {
>      throw new HttpsBrokerException(0,"postByte","The session is not properly
initialised - HttpClient Object");
>    }
>
>
>    if(hpp == null)
>    {
>      throw new HttpsBrokerException(0,"postByte","The HttpPostParameter is
not properly initialised");
>    }
>
>
>    log4j.debug("postByte - Creating the PostMethod object");
>    ///Creation of the post method and configuration
>    PostMethod post = new PostMethod(hpp.getUrl());
>
>
>
>    post.addRequestHeader("Content-Type", hpp.getContentType());
>    post.setHttp11(true);
>
>    ///// TO disable the 'expect: 100-continue' handshake
>    ///post.setUseExpectHeader(false);
>
>
>
>    if (parameters != null)
>    { /// There are some parameters
>
>
>      int sizeCol = 0;
>      sizeCol = parameters.size();
>      ArrayList par = (ArrayList)parameters;
>      NameValuePair [] n = new NameValuePair[sizeCol];
>
>
>      for (int i = 0 ; i < sizeCol ; i++)
>      {
>        n[i]  = new NameValuePair(((HttpParamTransport)par.get(i)).
getParamName(),
>                                  ((HttpParamTransport)par.get(i)).
getParamValue());
>
>      }
>
>      post.setQueryString(n);
>      log4j.debug("postByte - Adding of the parameters");
>
>      if( request != null)
>      {
>        log4j.debug("postByte - Add of the request body");
>
>        String strReq = new String(request);
>        post.setRequestBody(strReq); ///Setting of the byte to send
>        post.setRequestContentLength(strReq.length());
>      }
>
>    }
>    else
>    {
>      if( request != null)
>      {
>        log4j.debug("postByte - Add of the request body. No parameters ");
>        String strReq = new String(request);
>        post.setRequestBody(strReq); ///Setting of the byte to send
>        post.setRequestContentLength(strReq.length());
>      }
>    }
>
>    /// Do the post
>    try
>    {
>      log4j.debug("postByte - Execute the POST");
>      session.executeMethod(post);
>    }
>    catch (IOException ex)
>    {
>      //ex.printStackTrace();
>      throw new HttpsBrokerException(0,"postByte","Error on the post to the
server: " + ex.getMessage());
>    }
>
>
>    BufferedReader postReader = null;
>
>    log4j.debug("postByte - Retrieve the response body stream");
>    try
>    {
>      postReader = new BufferedReader(new InputStreamReader(post.
getResponseBodyAsStream()));
>    }
>    catch (IOException ex1)
>    {
>      throw new HttpsBrokerException(4,"sendFile","Error on the response body:
" + ex1.getMessage());
>    }
>    catch (NullPointerException ex)
>    {
>      postReader = null;
>    }
>
>    log4j.debug("postByte - Compose the HttpServerResponse");
>    serverResponse = new HttpServerResponse(post.getStatusLine(),postReader);
>
>
>    return serverResponse;
>  }
>
>
>
>
>
>
>
>I have join the complete trace log of the transaction.