在与服务器的连接中,我们会遇到如下错误:
<errorCode>101500</errorCode><errorMessage>Error in Sender</errorMessage>
除了“发件人错误”之外,是否有其他方法可以获取有关原因的更多信息?
注意:在 SSL 传输发送器中,我为 HostnameVerifier 设置了 AllowAll
<transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="http.proxyHost" locked="false">internet.proxy</parameter>
<parameter name="http.proxyPort" locked="false">8080</parameter>
<parameter name="http.nonProxyHosts" locked="false">localhost</parameter>
<parameter name="HostnameVerifier">AllowAll</parameter>
这是一些更详细的日志 (wso2-esb-errors.log)。请注意,有时消息会正确传送到远程服务器。远程服务器由我无法控制的客户维护。
2016-08-30 05:06:51,995 [-] [HTTPS-Sender I/O dispatcher-1] ERROR TargetHandler I/O error: Received fatal alert: handshake_failure
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:1666)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634)
at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1800)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:228)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:263)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:391)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:745)
最佳答案
发生此错误的原因有很多。有关详细信息,请参阅下面的引用资料。
- 客户端和服务器使用的密码套件不兼容。这个 将要求客户端使用(或启用)一个密码套件 服务器支持。
- 使用的 SSL 版本不兼容(服务器可能只接受 TLS v1,而客户端只能使用 SSL v3)。再次, 客户端可能必须确保它使用兼容版本的 SSL/TLS 协议(protocol)。
- 服务器证书的信任路径不完整;服务器的 客户端可能不信任证书。这通常会 导致更详细的错误,但这是很有可能的。通常是 修复是将服务器的 CA 证书导入客户端的信任 商店。
引用:Received fatal alert: handshake_failure through SSLHandshakeException
关于tcp - WSO2 ESB 4.9.0 : what means error 101500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39227993/