WSO2 ESB 4.9.0:什么是错误101500的含义?

3
在与服务器建立连接时,我们会遇到以下错误:
<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)

你在日志中看到任何错误吗? - Bee
以上句子来自:wso2-esb-service.log - Marc
1个回答

2

这个错误可能由许多原因引起。请参考下面的参考文献获取更多详细信息。

  • 客户端和服务器使用不兼容的密码套件。这将需要客户端使用(或启用)服务器支持的密码套件。
  • 使用不兼容的SSL版本(服务器可能仅接受TLS v1,而客户端只能使用SSL v3)。同样,客户端可能需要确保它使用兼容版本的SSL/TLS协议。
  • 服务器证书的信任路径不完整;客户端可能不信任服务器的证书。这通常会导致更详细的错误,但这是完全可能的。通常修复方法是将服务器的CA证书导入客户端的信任存储区。

参考文献:Received fatal alert: handshake_failure through SSLHandshakeException


1
感谢您的回答。您关于SSL的说法是正确的,但我们对网站进行了进一步调查,发现问题出在该服务提供商身上,而不是我们的WSO2 ESB环境。 - Marc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接