axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Lemons" <llem...@imcwv.com>
Subject RE: Using the Generated Classes in an Applet Through a Proxy Server
Date Fri, 18 Aug 2006 13:45:08 GMT
Ok.  I think I figured out how to fix this, but we are in the process of
testing it to make sure.  If we get it fixed, I will post the answer.
 

Thank you,

Larry M. Lemons

(304) 726-4809 Ext. 4505

 

 

________________________________

From: Larry Lemons [mailto:llemons@imcwv.com] 
Sent: Thursday, August 17, 2006 9:28 AM
To: axis-user@ws.apache.org
Subject: RE: Using the Generated Classes in an Applet Through a Proxy
Server


Does anyone have any ideas at all for this problem?
 

Thank you,

Larry M. Lemons

(304) 726-4809 Ext. 4505

 

 

________________________________

From: Larry Lemons [mailto:llemons@imcwv.com] 
Sent: Tuesday, August 15, 2006 10:16 AM
To: axis-user@ws.apache.org
Subject: RE: Using the Generated Classes in an Applet Through a Proxy
Server


I forgot to mention that I am using the JAVA 1.5_07 for building the
Stubs and java 1.5_0X for the applet use.  I'm also using the WSDL2JAVA
version 1.2. (I didn't realize we were using such an old version.)
 

Thank you,

Larry M. Lemons

(304) 726-4809 Ext. 4505

 

 

________________________________

From: Larry Lemons [mailto:llemons@imcwv.com] 
Sent: Monday, August 14, 2006 2:36 PM
To: axis-user@ws.apache.org
Subject: Using the Generated Classes in an Applet Through a Proxy Server


I have an applet that communicates with a web service using a few
different web methods.  The applet connects fine and even uses the web
methods fine as long as the client isn't behind a proxy server.
 
As soon as the applet is used behind a proxy server, it breaks.  The
applet is able to connect to the Web Service, but as soon as it attempts
to use one of the web methods, it breaks.  What I have seen is the
following:
 
When connecting to and using the applet from outside of a firewall, it
uses proxy=DIRECT everywhere.
 
As soon as the applet is moved behind the firewall, all the connections
are created successfully using proxy=HTTP @ /IPADDRESS:PORT
But when it actually gets to doing the web method call, after doing the
_call.invoke(param1, param2, param3, etc.), it gets to this call:
 

	liveconnect: Invoking JS method: execScript
	liveconnect: Invoking JS method: evalIntermediateValueToReturn
	network: Connecting socket://fema.imcwv.com:443 with
proxy=DIRECT
	

It uses a socket and the URL in a String format with port 443, which is
correct.  The same call outside of the proxy server is the following:
 

	network: Connecting socket://URL_STRING:443 with proxy=DIRECT

 
The difference is the result for the two.  Outside of the proxy server
the result is the expected:
 

	network: Connecting
http://URL_STRING/java/lang/StringBeanInfo.class with proxy=DIRECT
	network: Connecting
http://URL_STRING/java/lang/StringBeanInfo.class with cookie
"ASP.NET_SessionId=phcqzm55x31r0p45ox3sdanj"

 
Inside of the proxy server, the following is encountered:
 

	AxisFault
	 faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
	 faultSubcode: 
	 faultString: java.net.ConnectException: Connection timed out:
connect
	 faultActor: 
	 faultNode: 
	 faultDetail: 
	
{http://xml.apache.org/axis/}stackTrace:java.net.ConnectException:
Connection timed out: connect
	 at java.net.PlainSocketImpl.socketConnect(Native Method)
	 at java.net.PlainSocketImpl.doConnect(Unknown Source)
	 at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	 at java.net.PlainSocketImpl.connect(Unknown Source)
	 at java.net.SocksSocketImpl.connect(Unknown Source)
	 at java.net.Socket.connect(Unknown Source)
	 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown
Source)
	 at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.&lt;init&gt;(Unknown Source)
	 at
com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown
Source)
	 at
org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactor
y.java:92)
	 at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
	 at
org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:
404)
	 at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
	 at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.j
ava:32)
	 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
	 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
	 at
org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
	 at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
	 at org.apache.axis.client.Call.invoke(Call.java:2748)
	 at org.apache.axis.client.Call.invoke(Call.java:2424)
	 at org.apache.axis.client.Call.invoke(Call.java:2347)
	 at org.apache.axis.client.Call.invoke(Call.java:1804)
	 at URL_STRING.WEB_SERVICE_NAMESoapStub.webMethod(Unknown
Source)
	 at AppletName.CallingClass.&lt;init&gt;(CallingClass.java:127)
	

 
What I have noticed is that as soon as the call is made using the socket
connection rather than an HTTP connection, it tries to use proxy=DIRECT
instead of proxy=HTTP @ /IPADDRESS:PORT, where IPADDRESS is the IP
Address of the proxy server and PORT is the port to be used for the
proxy server.
 
Has anyone else ran into this situation or does anyone have any ideas of
how to fix this problem.  The applet must be able to run behind any
proxy server, not a specific one, and we don't have any idea before hand
what the proxy server settings will be.  I do know that the applet gets
the proxy server settings from the browser automatically, as can be seen
from the JAVA Console dump, with the exception at the point in time when
it actually calls the web method.

Thank you in advance,

Larry M. Lemons


Mime
View raw message