Hi Justin,

Download the ClassLocator utility [1], and install it both in your Axis
webapp and in some other webapp where SSL is working correctly.

Go to the webapp where things are working, and surf to ClassLocator.jsp
and enter "COM.rsa.jsafe.y" see where the class is being loaded from.
Then go to ClassLocator in your Axis webapp and load some working class
(e.g. your service class) to see what is different.

Regards,
Stu

[1] http://staff.develop.com/halloway/code/ClassLocator.jsp

-----Original Message-----
From: Justin Lee (HFS) [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 30, 2003 12:11 PM
To: '[EMAIL PROTECTED]'
Subject: error finding class

When I try to connect to service with an https URL, I get this error:

java.lang.NoClassDefFoundError: COM/rsa/jsafe/y
        at
com.sun.net.ssl.internal.ssl.Handshaker.a([DashoPro-V1.2-120198])
        at
com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198])
        at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPro-V
1.2-
120198])
        at
com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-12
0198
])
        at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
        at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
        at
com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120198
])
        at java.io.OutputStream.write(OutputStream.java:56)
        at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake([DashoPro-V1.2
-120
198])
        at
org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactor
y.ja
va:213)
        at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
        at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.j
ava:
71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2526)
        at org.apache.axis.client.Call.invoke(Call.java:2515) 
        at org.apache.axis.client.Call.invoke(Call.java:2210)
        at org.apache.axis.client.Call.invoke(Call.java:2133)
        at org.apache.axis.client.Call.invoke(Call.java:1656) 

I'm using 1.1_rc2 of axis on jdk 1.3.1.  i've prep'd the system best as
I
know how with 

System.setProperty("java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");

Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SSLContext sslContext = SSLContext.getInstance(HTTPEmulator.TLS);
SSLSocketFactory factory = sslContext.getSocketFactory();
HttpsURLConnection.setDefaultSSLSocketFactory(factory);

This sort of set up works with our other https connections, but
complains
when I try it with Axis.  Any ideas?

Reply via email to