Re: java client and ntlm proxy

AurĂ©lien Minet <[email protected]> Sun, 13 Mar 2011 22:56:25 +0100
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
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]>
>     *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])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/aurelien.minet%40univ-provence.fr
>
> This email sent to [email protected]