I try what you said with httpclient, my code looks like : 
        proxyclient.getHostConfiguration().setHost("www.yahoo.com");
        // set the proxy host and port
        proxyclient.getHostConfiguration().setProxy("vali.hcuge.ch", 8080);
        // set the proxy credentials, only necessary for authenticating proxies 
 
        proxyclient.getState().setProxyCredentials(
            AuthScope.ANY,
            new NTCredentials("pegn", "mypassword","localhost","huge"));

I used NTCredentials in order to use the domain of my login but now it is 
complaining with authentication :


15 mars 2011 12:33:48 org.apache.commons.httpclient.auth.AuthChallengeProcessor 
selectAuthScheme
INFO: ntlm authentication scheme selected
15 mars 2011 12:33:50 org.apache.commons.httpclient.HttpMethodDirector 
processProxyAuthChallenge
INFO: Failure authenticating with NTLM <any realm>@vali.hcuge.ch:8080
Connect failed: HTTP/1.1 407 Proxy Authentication Required

did I miss something ? it's seems it doenot use my credentials ...

Thanks

Pierre


  ----- Original Message ----- 
  From: Aurélien Minet 
  To: [email protected] ; [email protected] 
  Sent: Tuesday, March 15, 2011 12:22 AM
  Subject: Re: java client and ntlm proxy





  On 03/14/2011 09:32 AM, Pierre Gilquin wrote:
  > Merci Aurélien.

  De rien Pierre

  the methode createSocket in the class extending EOHTTPChanel have to return a 
socket
  I think Apache HttpClient would help to create one and handle proxy stuff
  see 
http://svn.apache.org/repos/asf/httpcomponents/oac.hc3x/branches/HTTPCLIENT_3_0_BRANCH/src/examples/ProxyTunnelDemo.java

  after Socket socket = response.getSocket();
  you may have to add
  socket.setTcpNoDelay(true);
  socket.setSoTimeout(2147483647);

  I also found that in NSSocketUtilities the creation of the socket was done in 
a internal class SocketThread which 
  extends Thread

  Aurélien

  ps: cntlm would be necessary if an NTLM authentication is necessary , if not 
Java Client only have to connect to the 
  proxy for accessing the application which behind it.


  > I have already try to extend EOHTTPChannel. Until now without success ...
  > It's why i try to use cntlm.
  >
  > My last attempt is to use cntlm tunneling :
  >>cntlm.exe -c cntlm.ini -v
  > cntlm: New tunnel from 127.0.0.1:11443 to host.domain.tld:80
  >
  >
  > In this case the launch don't use any http.proxy but directly the port 
11443 on localhost:
  >>java MyClassUsingEOClientApplicationSupport -applicationURL 
http://localhost:11443/cgi-bin/WebObjects/MyAppli.woa
  >
  > I dont understand why this is not working ...
  >
  > Thanks for any idea
  >
  > Pierre
  >
  >     ----- Original Message -----
  >     From: Aurélien Minet
  >     To: [email protected] <mailto:[email protected]> 
; WebObjects (Group)
  >     Sent: Sunday, March 13, 2011 10:56 PM
  >     Subject: Re: java client and ntlm proxy
  >
  >
  >     Hi
  >
  >     Yes the socket is open directly, in fact stuff behind EOHTTPChannel 
(createSocket) doesn't take in account http.proxy*
  >     args cause finally use java.net.Socket and not java.net.URL, so Java 
Client can't connect to the application trough any
  >     HTTP proxy (NTML or not).
  >     A solution could be to override  NSSocketUtilities.getSocketWithTimeout 
or to extend
  >     com.webobjects.eodistribution.client.EOHTTPChannel with a class having 
a methode createSocket which return a Socket.
  >     We have got the same problem for Java Client connecting to the 
application using an https URL. A colleague make a POC
  >     with a class which extends EOHTTPChannel and use javax.net.ssl
  >
  >     Aurelien
  >
  >     ps : for command line launching
  >     java -classpath "jar list" 
com.webobjects.eoapplication.client.EOClientApplicationSupport
  >     -applicationURL http://host.domain.tld/cgi-bin/WebObjects/App.woa 
[other arguments]
  >     (prefer a .jnlp file for deployment)
  >
  >
  >     On 03/08/2011 09:43 AM, Pierre Gilquin wrote:
  >     > Hi David,
  >     >
  >     > Starting the application with JWS or at command line gives the same 
result.
  >     > I guess that the socket is open directly (port 80) without going thru 
the proxy and that's why I get a timeout error.
  >     >
  >     > I dont get your idea, what can you check in the jnlp file ?
  >     > Thanks
  >     >
  >     > Pierre
  >     >
  >     >
  >     >
  >     >     ----- Original Message -----
  >     >     *From:* David Avendasora <mailto:[email protected]>
  >     >     *To:* Pierre Gilquin <mailto:[email protected]>
  >     >     *Cc:* [email protected] 
<mailto:[email protected]>
  >     <mailto:[email protected]>
  >     >     *Sent:* Monday, March 07, 2011 8:26 PM
  >     >     *Subject:* Re: java client and ntlm proxy
  >     >
  >     >     Hi Pierre,
  >     >
  >     >     Are you launching the application from a link that downloads a 
.jnlp file from the server? If so, look at it's
  >     >     contents to be sure it is using the ports you think it is.
  >     >
  >     >     Dave
  >     >
  >     >
  >     >     On Mar 7, 2011, at 11:52 AM, Pierre Gilquin wrote:
  >     >
  >     >>     Hi all,
  >     >>
  >     >>     I am trying to use a java client inside a entreprise network 
using an ntml proxy with authentification for
  >     >>     accessing the outside world.
  >     >>
  >     >>     Seems that java cannot pass that kind of  proxy. At least, I was 
not able to do it.
  >     >>     So I try to use cntlm  http://cntlm.sourceforge.net/  
<x-msg://292/> before starting the java client :
  >     >>
  >     >>     >cntlm.exe -c cntlm.ini -v
  >     >>     cntlm: Proxy listening on 127.0.0.1:3128
  >     >>     cntlm: Resolving proxy TheBorringProxy ...
  >     >>     cntlm: Workstation name used: localhost
  >     >>     cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
  >     >>     cntlm: PID 980: Cntlm ready, staying in the foreground
  >     >>
  >     >>     Then I start my java client  :
  >     >>     java -Dhttp.proxySet=true -Dhttp.proxyHost=127.0.0.1 
-Dhttp.proxyPort=3128 MyClass
  >     >>     -applicationURL 
http://www.externaldomain.com/cgi-bin/WebObjects/MyAppli.woa <x-msg://292/>
  >     >>
  >     >>     But not better, the java client cannot create the socket :
  >     >>     com.webobjects.foundation.NSForwardException for 
java.io.IOException: Timed out trying to create Socket
  >     >>      at 
com.webobjects.foundation.NSSocketUtilities._getSocketWithTimeout(NSSocketUtilities.java:145)
  >     >>      at 
com.webobjects.foundation.NSSocketUtilities.getSocketWithTimeout(NSSocketUtilities.java:100)
  >     >>      at 
com.webobjects.foundation.NSSocketUtilities.getSocketWithTimeout(NSSocketUtilities.java:58)
  >     >>      at 
com.webobjects.eodistribution.client.EOHTTPChannel.createSocket(EOHTTPChannel.java:401)
  >     >>
  >     >>     Am I missing something ? May be I am wrong about the way i start 
my java client ?
  >     >>
  >     >>     Thanks for any idea.
  >     >>
  >     >>     Pierre
  >     >
  >     >
  >     >
  >     >  _______________________________________________
  >     > Do not post admin requests to the list. They will be ignored.
  >     > Webobjects-dev mailing list      ([email protected] 
<mailto:[email protected]>)
  >     > Help/Unsubscribe/Update your Subscription:
  >     > 
http://lists.apple.com/mailman/options/webobjects-dev/aurelien.minet%40univ-provence.fr
  >     >
  >     > This email sent to [email protected] 
<mailto:[email protected]>
  >
  >     _______________________________________________
  >     WebObjects-dev mailing list
  >     [email protected] <mailto:[email protected]>
  >     http://www.omnigroup.com/mailman/listinfo/webobjects-dev
  >
  >
  >
  >  _______________________________________________
  > Do not post admin requests to the list. They will be ignored.
  > Webobjects-dev mailing list      ([email protected])
  > Help/Unsubscribe/Update your Subscription:
  > 
http://lists.apple.com/mailman/options/webobjects-dev/aurelien.minet%40univ-provence.fr
  >
  > This email sent to [email protected]

  _______________________________________________
  WebObjects-dev mailing list
  [email protected]
  http://www.omnigroup.com/mailman/listinfo/webobjects-dev
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to