mule中http请求者中的连接超时

时间:2015-08-15 19:18:58

标签: connection timeout mule mule-studio

我在mulesoft的http请求者中点击多个url

     For example:-abc.com
                  def.com
                  ghy.com
                  xyz.com

但是" def.com"我正在连接超时错误(没有响应代码即将发生)我知道因为网站已关闭但是一旦我收到此错误,我的流程就停止了,而不是前进到另一个网站,即" ghy.com"等。

如果特定网站连接超时,你能告诉我如何继续处理流程

我尝试过捕获异常策略,但我发现了这个异常,但无法继续流程。

1 个答案:

答案 0 :(得分:1)

执行以下操作。

  1. 将“def.com”HTTP请求组件放入私有流中。
  2. 在该私人流程上添加“捕获异常策略”
  3. 从原始流添加流参考到私有流。
  4. catch异常应该处理私有流上的错误,当它返回到原始流(调用流)时,它应该继续处理。

    修改

    这就是我的意思。 test2Flow是主要流程,然后你在那里得到了foreach组件。它将称为私人流程。

    私有流执行HTTP请求调用,其中URL来自有效负载。它具有捕获异常策略来处理来自此HTTP请求的错误。

    此处,当私有流内发生错误时,foreach循环不应停止。

    <http:request-config name="HTTP_Request_Configuration" host="#[payload.url]" port="#[payload.port]" doc:name="HTTP Request Configuration"/>
    <flow name="test2Flow">
        <!--get list -->
        <foreach doc:name="For Each">
            <flow-ref name="payload" doc:name="Flow Reference"/>
        </foreach>
    </flow>
    <flow name="test2Flow1">
        <http:request config-ref="HTTP_Request_Configuration" path="/" method="GET" doc:name="HTTP"/>
        <!-- store response -->
        <catch-exception-strategy doc:name="Catch Exception Strategy">
            <logger level="INFO" doc:name="Logger"/>
        </catch-exception-strategy>
    </flow>