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

问题描述:

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

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="abcServerEndpoint"> 
    <address uri="@[email protected]"> 
     <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年1月20日17:52:08050 [ - ] [HTTP监听I/O调度-2] WARN SourceHandler连接超时请求被读取后:HTTP- incoming-174 2016-01-20 17:52:09,033 [ - ] [HTTP-Listener I/O调度程序-1] WARN SourceHandler读取请求后连接超时:http-incoming-180 2016-01-20 17 :52:09033 [ - ] [HTTP监听I/O调度-1] WARN SourceHandler连接超时请求被读取后:HTTP传入-177

+0

请问您可以与问题一起分享错误日志吗?附带错误日志 –

+0

。错误日志和碳日志中只有超时。 – richard

+0

看看那里:http://stackoverflow.com/questions/21327584/wso2-esb-http-connection-was-forcibly-closed-by-remote-host –

WARN SourceHandler连接超时之后请求是REA d: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文件来增加passthrough http transport的套接字超时。

http.socket.timeout=120000 

希望这些信息对您有所帮助。

+0

非常感谢,是的,它是由http超时造成的。 – richard