Since you seem to be stuck, I'll offer some advice that may or not help.

In axis 1.x and axis2 , there is an applet called the soap monitor. It
makes a connection via a socket to a handler . Now if you get that to
work via a proxy, that may help you understand how to solve your
problem. Installing the soap monitor is pretty quick, and if it works
for you try looking at the source which is only a couple hundered
lines.

HTH,
Robert
http://www.braziloutsource.com

On 8/17/06, Larry Lemons <[EMAIL PROTECTED]> wrote:


Does anyone have any ideas at all for this problem?



Thank you,

Larry M. Lemons

(304) 726-4809 Ext. 4505




 ________________________________
 From: Larry Lemons [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 15, 2006 10:16 AM
To: [email protected]
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:[EMAIL PROTECTED]
Sent: Monday, August 14, 2006 2:36 PM
To: [email protected]
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(JSSESocketFactory.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.java: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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to