Aurélien Minet
2011-03-13 21:56:25 UTC
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)
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)
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 -----
*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
Do not post admin requests to the list. They will be ignored.
http://lists.apple.com/mailman/options/webobjects-dev/aurelien.minet%40univ-provence.fr
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 -----
*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
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.
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
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/>
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
_______________________________________________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.
cntlm.exe -c cntlm.ini -v
cntlm: Proxy listening on 127.0.0.1:3128cntlm: 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
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/>
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.
http://lists.apple.com/mailman/options/webobjects-dev/aurelien.minet%40univ-provence.fr