wso2 esb无法将请求转发给目标服务器

时间:2016-01-20 09:17:56

标签: wso2 wso2esb esb

我在Windows服务器上运行ESB 4.8.1。 我创建了代理,将HTTP请求转发给IIS应用程序。终点定义如下。 现在ESB可以很好地连接到IIS。 然后IIS服务器重新启动,ESB无法再连接到IIS应用程序。

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="abcServerEndpoint">
    <address uri="@ESB_ABC_SERVER_ENDPOINT@">
        <retryConfig>
          <disabledErrorCodes>101503,101507</disabledErrorCodes>
        </retryConfig>
       <timeout> 
               <duration>300000</duration> 
               <responseAction>fault</responseAction> 
           </timeout> 
           <suspendOnFailure> 
               <errorCodes>-1</errorCodes> 
               <initialDuration>0</initialDuration> 
               <progressionFactor>0.0</progressionFactor> 
               <maximumDuration>0</maximumDuration> 
           </suspendOnFailure> 
           <markForSuspension> 
               <errorCodes>-1</errorCodes> 
           </markForSuspension> 
    </address>
</endpoint>

错误日志如下所示 2016-01-20 17:52:08,050 [ - ] [HTTP-Listener I / O dispatcher-2] WARN SourceHandler读取请求后的连接超时:http-incoming-174 2016-01-20 17:52:09,033 [ - ] [HTTP-Listener I / O dispatcher-1] WARN SourceHandler读取请求后的连接超时:http-incoming-180 2016-01-20 17:52:09,033 [ - ] [HTTP-Listener I / O dispatcher-1] WARN SourceHandler读取请求后的连接超时:http-incoming-177

1 个答案:

答案 0 :(得分:1)

  

WARN SourceHandler读取请求后的连接超时:http-incoming-174 2016-01-20 17:52:09,033 [ - ]

上述WARN日志的原因是客户端(在您的方案IIS服务器中)与ESB之间的连接在ESB将响应发送到客户端之前已超时。

默认情况下,此超时为60秒(http侦听器的套接字超时)。因此,ESB需要60多秒才能向IIS服务器发送响应。 导致此问题的原因可能是后端缓慢。

作为一种解决方案,您可以通过将以下属性添加到$ ESB_HOME / repository / conf /目录中的passthru-http.properties文件来增加直通http传输的套接字超时。

http.socket.timeout=120000

希望这些信息能为您提供帮助。