【问题标题】:Mule: Unable to pass Error Status to calling APIMule:无法将错误状态传递给调用 API
【发布时间】:2017-05-27 14:42:02
【问题描述】:

我正在尝试从一个 API 中捕获错误状态并将其发送到调用 API。在我的下游 API 中,我有以下捕获异常策略:

<catch-exception-strategy>
      <set-payload value= "500" />
      <logger message="***BACKEND API: #[payload]" level="INFO" doc:name="Logger"/>

   </catch-exception-strategy>

在我的调用 API 中,我有以下内容:

 <http:request config-ref="downstream API "  path="/downstream/{id}" method="POST " doc:name="Generate "/>
            <json:object-to-json-transformer doc:name="Object to JSON"/>
      <logger message="PAYLOAD: #[payload]" level="INFO" doc:name="Logger"/>   

但是,我可以在下游 API 中打印有效负载,但不能在调用 API 中打印。我错过了什么吗?

【问题讨论】:

    标签: exception-handling mule


    【解决方案1】:

    如果你的 API 抛出 http.status == 500,它应该触发这个条件

    <choice-exception-strategy doc:name="Choice Exception Strategy">
          <catch-exception-strategy when="#[message.inboundProperties.'http.status' == 500]" doc:name="Error 500">
                <set-payload value= "500" />
                <logger message="***BACKEND API: #[payload]" level="INFO" doc:name="Logger"/>
          </catch-exception-strategy>
    </choice-exception-strategy>
    

    我你没加条件,应该是默认catch异常

    一切都应该正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2019-12-02
      • 2020-12-24
      相关资源
      最近更新 更多