You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Luca Ventura <ve...@tiscali.it> on 2002/12/19 19:09:58 UTC
"java.lang.ClassCastException" with "javax.net.ssl" package
Hello everybody!
I have installed JDK1.4 and Tomcat 4.1.16 LE on a Windows 2000 machine.
To support SSL protocol in my servlet I use the version of JSSE API
integrated in JDK 1.4:
import javax.net.ssl.*; //package present in JDK 1.4
...
URL url = new URL(urlString);
HttpsURLConnection Con = (HttpsURLConnection)url.openConnection();
....
in this way I receive this Exception when the servlet tries to connect to
the https URL:
java.lang.ClassCastException:
com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl
If I change the code in this way:
import com.sun.net.ssl.*; //package present in old JSSE 1.0.x API
...
URL url = new URL(urlString);
HttpsURLConnection Con = (HttpsURLConnection)url.openConnection();
....
all works correctly. This means that the servlet works if it uses
"com.sun.net.ssl" package and not "javax.net.ssl".
How come? I would like to use javax.net.ssl package because it is more
up-to-date and it is that one integrated
with JDK 1.4. Sincerely I don't know why Tomcat searchs for "com.sun.net.ssl
package" and throws that Exception because I haven't installed in Tomcat old
JSSE 1.0.x API!!!
I found indications about this problem at:
http://forum.java.sun.com/thread.jsp?thread=290800&forum=2&message=1146586
and at:
http://java.sun.com/j2se/1.4/docs/guide/security/jsse/JSSERefGuide.html#Inst
allProbs
but they aren't very clear to me....
Is it possible that Tomcat uses internally old JSSE 1.0.x API??
HOW CAN I USE "javax.net.ssl" without having the
"java.lang.ClassCastException"???
I hope someone can help me!!
Thanks averybody in advance.
Luca