title: WebLogic javax.net.ssl.SSLHandshakeException
body: <p>My application needs to connect to webservice to some stuff. This was working fine when my application was deployed over tomcate, however when I deployed my application over weblogic I got: </p>
  
  <pre><code>com.sun.xml.ws.client.ClientTransportException: HTTP transport error:
      javax.net.ssl.SSLHandshakeException: General SSLEngine problem
  </code></pre>
  
  <p>Does anyone has an idea what I am missing or if there is any added configuration I should add. Also kindly note that I enabled the SSL connections for weblogic but still having same problem.
  Added stack trace below</p>
  
  <pre><code>Exception caught HTTP transport error: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
  com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:131)
          at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:223)
          at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:145)
          at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:110)
          at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
          at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
          at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
          at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
          at com.sun.xml.ws.client.Stub.process(Stub.java:463)
          at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
          at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
          at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
          at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
          at com.sun.proxy.$Proxy93.getSubscriberAllInf(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:87)
          at com.sun.proxy.$Proxy94.getSubscriberAllInf(Unknown Source)
          at com.asset.chargingsystem.webservices.pcrfnew.PCRFHandler.executeAllSubscriberInfoPCRFAction(PCRFHandler.java:51)
          at com.asset.chargingsystem.components.PCRFInquireSubscriberInfo.doOperation(PCRFInquireSubscriberInfo.java:73)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:539)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:544)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:544)
          at com.asset.chargingsystem.interfaces.Inquiry.performTask(Inquiry.java:97)
          at com.asset.chargingsystem.interfaces.Inquiry.doGet(Inquiry.java:245)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
          at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
          at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
          at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
          at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
          at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at com.asset.chargingsystem.interfaces.CIFilter.doFilter(CIFilter.java:37)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
          at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
          at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
          at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
          at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
          at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
          at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
          at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
          at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
          at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
          at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
          at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
  Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1290)
          at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:513)
          at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1177)
          at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1149)
          at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine$1.run(JaSSLEngine.java:68)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:734)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine.wrap(JaSSLEngine.java:66)
          at weblogic.socket.JSSEFilterImpl.wrapAndWrite(JSSEFilterImpl.java:716)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:107)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:75)
          at weblogic.socket.JSSESocket.startHandshake(JSSESocket.java:219)
          at weblogic.net.http.HttpsClient.New(HttpsClient.java:563)
          at weblogic.net.http.HttpsClient.New(HttpsClient.java:534)
          at weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:248)
          at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:129)
          ... 50 more
  Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
          at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1683)
          at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:278)
          at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
          at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341)
          at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
          at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
          at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
          at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1227)
          at weblogic.socket.JSSEFilterImpl.doTasks(JSSEFilterImpl.java:205)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:111)
          ... 56 more
  Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
          at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
          at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
          at sun.security.validator.Validator.validate(Validator.java:260)
          at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
          at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
          at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:107)
          at weblogic.security.SSL.jsseadapter.JaTrustManager.checkServerTrusted(JaTrustManager.java:128)
          at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:827)
          at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1328)
          ... 64 more
  Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
          at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
          at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
          at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
          ... 72 more
  20150713_00:25:34:892|DEBUG|[[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)']|[PCRFHandler][executeAllSubscriberInfoPCRFAction()] End executePCRFAction with action [getAllSubscriberInfo] in 3919 msecs
  20150713_00:25:34:893|ERROR|[[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)']|[Landline number = 02211223344][DeleteService][doOperation()] Exception --&gt; HTTP transport error: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
  com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:131)
          at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:223)
          at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:145)
          at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:110)
          at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
          at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
          at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
          at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
          at com.sun.xml.ws.client.Stub.process(Stub.java:463)
          at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
          at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
          at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
          at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
          at com.sun.proxy.$Proxy93.getSubscriberAllInf(Unknown Source)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:87)
          at com.sun.proxy.$Proxy94.getSubscriberAllInf(Unknown Source)
          at com.asset.chargingsystem.webservices.pcrfnew.PCRFHandler.executeAllSubscriberInfoPCRFAction(PCRFHandler.java:51)
          at com.asset.chargingsystem.components.PCRFInquireSubscriberInfo.doOperation(PCRFInquireSubscriberInfo.java:73)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:539)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:544)
          at com.asset.chargingsystem.controller.MainController.routeRequest(MainController.java:544)
          at com.asset.chargingsystem.interfaces.Inquiry.performTask(Inquiry.java:97)
          at com.asset.chargingsystem.interfaces.Inquiry.doGet(Inquiry.java:245)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
          at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
          at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
          at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
          at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
          at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at com.asset.chargingsystem.interfaces.CIFilter.doFilter(CIFilter.java:37)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
          at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
          at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
          at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
          at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
          at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
          at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
          at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
          at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
          at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
          at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
          at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
          at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
          at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
  Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1290)
          at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:513)
          at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1177)
          at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1149)
          at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine$1.run(JaSSLEngine.java:68)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:734)
          at weblogic.security.SSL.jsseadapter.JaSSLEngine.wrap(JaSSLEngine.java:66)
          at weblogic.socket.JSSEFilterImpl.wrapAndWrite(JSSEFilterImpl.java:716)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:107)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:75)
          at weblogic.socket.JSSESocket.startHandshake(JSSESocket.java:219)
          at weblogic.net.http.HttpsClient.New(HttpsClient.java:563)
          at weblogic.net.http.HttpsClient.New(HttpsClient.java:534)
          at weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:248)
          at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:129)
          ... 50 more
  Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
          at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
          at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1683)
          at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:278)
          at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
          at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341)
          at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
          at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
          at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
          at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1227)
          at weblogic.socket.JSSEFilterImpl.doTasks(JSSEFilterImpl.java:205)
          at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:111)
          ... 56 more
  Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
          at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
          at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
          at sun.security.validator.Validator.validate(Validator.java:260)
          at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
          at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
          at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:107)
          at weblogic.security.SSL.jsseadapter.JaTrustManager.checkServerTrusted(JaTrustManager.java:128)
          at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:827)
          at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1328)
          ... 64 more
  Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
          at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
          at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
          at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
          ... 72 more
  </code></pre>