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]

_______________________________________________
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