2015-07-12 218 views
3

我的应用程序需要连接到一些东西的web服务。这是工作的罚款时,我的应用程序部署在tomcate,但是当我部署我的应用程序在weblogic的我:WebLogic javax.net.ssl.SSLHandshakeException

com.sun.xml.ws.client.ClientTransportException: HTTP transport error: 
    javax.net.ssl.SSLHandshakeException: General SSLEngine problem 

有没有人有一个想法,我缺少的是什么或者是否有任何添加的配置我要补充。另外请注意,我启用了用于weblogic的SSL连接,但仍然存在相同的问题。下面

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 --> 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 
+0

您是否在weblogic中添加了ssl证书? – Amogh

+0

以及如何做到这一点? – Islam

+0

首先告诉我web服务在https或http上? – Amogh

回答

0
  • 增加堆栈跟踪你既可以导入相应的SSL证书(或CA)到WebLogic信任存储(例如如下所述:https://docs.oracle.com/cd/E23943_01/web.1111/e13707/identity_trust.htm#SECMG379)如已被Amogh建议。
  • 或者,如果您更愿意使用默认的Java(SUN)SSL堆栈并且代码已经使用正确配置的SSLContext(因为您已经写过它适用于Tomcat,这可能已经是这种情况了),请避免使用WebLogic通过在setDomainEnv.[cmd|sh]中为JAVA_OPTIONS提供-DUseSunHttpHandler=true来提供SSL堆栈。
0

伊斯兰教给出......我建议你在下面检查(客户端和服务器端)

  1. 升级到最新的JDK两侧
  2. 检查TLS版本 为如,. -Djdk.tls.client.protocols = TLSv1.2 -Dweblogic.security.SSL.minimumProtocolVersion = TLSv1.2
  3. 检查两端的密码(domain/config/config.xml)。请确保至少有2场比赛 4.ssl证书两端

如果你仍然看到问题,请在下面启用并重新启动JVM -Dssl.debug =真-Dweblogic.security.SSL.verbose =真 - Dweblogic.StdoutDebugEnabled = true -Djavax.net.debug = all -Djava.security.debug = all -Dweblogic.wsee.security.verbose = true -Dweblogic.wsee.security.debug = true -Dweblogic.webservice.verbose = true