Hi, i'm trying to use Axis(1.1) with
JSSE in WebSphere 4.0.3 to reach a WebService via SSL, but I got that exception when I call
the Service: 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 keyStore is : /SapeNet/keystore/sapenet.keystore keyStore type is : JKS init keystore init keymanager of type SunX509 default
context init failed: java.security.PrivilegedActionException
<> 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 2004-08-20 AxisFault faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.net.SocketException:
SSL implementation not available faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: java.net.SocketException:
SSL implementation not available at javax.net.ssl.DefaultSSLSocketFactory.createSocket(DashoA6275) at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:130) 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.java: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:2564) at org.apache.axis.client.Call.invoke(Call.java:2553) at org.apache.axis.client.Call.invoke(Call.java:2248) at org.apache.axis.client.Call.invoke(Call.java:2171) at org.apache.axis.client.Call.invoke(Call.java:1691) at it.seceti.creval.clientws.WfSoapBindingStub.verificaCollegamento(WfSoapBindingStub.java:122) at
it.diagramaps.f24.action.LoginCrevalAction.perform(LoginCrevalAction.java:106) at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:698) at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:157) at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:279) at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:105) at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:410) at
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:842) at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:768) at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:623) at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:333) at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:218) at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebGroup.java:987) at
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:69) at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:176) at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:357) at
com.ibm.ws390.wc.redirector.WS390Redirector$WS390RedirectorDispatcher.service(WS390Redirector.java:1579) at
com.ibm.servlet.engine.oselistener.inproc.InProcAppServerDispatcher.service(InProcAppServerDispatcher.java:54) at
com.ibm.servlet.engine.oselistener.inproc.InProcThreadPrivateData.dispatchServletRequest(InProcThreadPrivateData.java:144) at com.ibm.servlet.engine.oselistener.inproc.InProcPlugin.service(InProcPlugin.java:602) I put jsse.jar,
jcert.jar and jnet.jar in jre/lib/ext
and I rename ibmjsse.jar to zibmjsse.jar. I've done this to load the
Sun's classes before Ibm
classes. Also I put in java.security these providers: security.provider.1=sun.security.provider.Sun security.provider.2=com.sun.net.ssl.internal.ssl.Provider security.provider.3=com.ibm.crypto.provider.IBMJCE security.provider.4=com.ibm.jsse.JSSEProvider At runtime i
set up this line java.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol. But it doesn't work. A possible solution could be to
set up AXIS to use the IBM JSSE provider? Any Help appreciated. Thanks Claudio Cantonetti
|