【问题标题】:Handshake error while calling soap service from code deployed as war in weblogic 11g从 weblogic 11g 中部署为战争的代码调用肥皂服务时出现握手错误
【发布时间】:2017-06-16 10:06:28
【问题描述】:

我的soap服务仅支持TLSv1.2,当我通过在main()方法中编写客户端从本地机器调用soap服务时,它工作正常。我也启用了 ssl 调试,所以在本地我可以清楚地看到我是客户端正在发送 *** 客户端您好,TLSv1.2。

问题是当我在 weblogic 10.3.6 中将代码部署为 war 文件时,启用了 ssl 调试,在日志中我得到 *** 客户端您好,TLSv1。 用于 java 中相同的客户端代码。

如果客户端是TLSv1,会不会和服务TLS1.2握手?

在 weblogic 控制台中,我启用了 JSSE。我对需要在 weblogic 中完成的任何其他配置或握手错误的可能原因一无所知。 任何形式的建议表示赞赏,请帮助。

我将我的日志粘贴在下面以获得更好的说明:

Caused by: javax.xml.ws.WebServiceException: javax.net.ssl.SSLException: Received fatal alert: handshake_failure
        at com.sun.xml.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:218)
        at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:204)
        at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:124)
        at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:121)
        at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:866)
        at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:815)
        at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:778)
        at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:680)
        at com.sun.xml.ws.client.Stub.process(Stub.java:272)
        at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:153)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
        at com.sun.proxy.$Proxy791.executeProcess(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:84)
        at com.sun.proxy.$Proxy792.executeProcess(Unknown Source)
        at aero.sita.trillium.mobility.util.ServiceHelper.swapAsset(ServiceHelper.java:4309)
        at aero.sita.trillium.mobility.service.impl.IMgmtServiceImpl.swapAssetAsJSON(IMgmtServiceImpl.java:3223)
        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 com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
        at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
        at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.security.pacl.PACLAdvice.invoke(PACLAdvice.java:51)
        at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
        at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
        at com.sun.proxy.$Proxy691.swapAssetAsJSON(Unknown Source)
        at aero.sita.trillium.mobility.service.IMgmtServiceUtil.swapAssetAsJSON(IMgmtServiceUtil.java:698)
        ... 69 more
Caused by: javax.net.ssl.SSLException: Received fatal alert: handshake_failure
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1639)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1607)
        at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1776)
        at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1068)
        at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:890)
        at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:764)
        at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
        at weblogic.security.SSL.jsseadapter.JaSSLEngine$4.run(JaSSLEngine.java:118)
        at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:732)
        at weblogic.security.SSL.jsseadapter.JaSSLEngine.unwrap(JaSSLEngine.java:116)
        at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:93)
        at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:59)
        at weblogic.socket.JSSEFilterImpl.write(JSSEFilterImpl.java:391)
        at weblogic.socket.JSSESocket$JSSEOutputStream.write(JSSESocket.java:78)

【问题讨论】:

  • 搞清楚这个了吗?

标签: java web-services ssl weblogic tls1.2


【解决方案1】:

如果客户端是TLSv1,会不会和服务TLS1.2握手?

在这种情况下,TLSv1 指的是 TLS 1.0。

我的soap服务仅支持TLSv1.2 ...在weblogic 10.3.6中将我的代码部署为war文件

您的 Weblogic 安装可能不支持 TLS 1.2。根据this documentation,它从 Weblogic 11 以及使用 Java 7 或更高版本时开始支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 2012-04-11
    • 2014-04-23
    相关资源
    最近更新 更多