【问题标题】:Mule returns 500 instead of 400Mule 返回 500 而不是 400
【发布时间】:2016-10-18 14:51:20
【问题描述】:

我正在对将调用 http 出站端点的流进行 http 调用。出站端点返回带有http.status = 400 的消息。直到我进入流程的最后一刻,标题才会显示 http.status 实际上是 400。

但 Mule 会改为使用 http.status = 500 Internal Server Error 返回消息。

我找到了这个解决方案,但它对我不起作用:https://stackoverflow.com/a/16486259/3510748

<set-variable variableName="http.disable.status.code.exception.check"
          value="true" />

当我在我的 http 出站端点 http.status 将更改为 200 之前设置它时,这也不正确。

我需要做什么才能收到正确的 http.status?

【问题讨论】:

    标签: mule http-status


    【解决方案1】:

    您可以将 HTTP 标头设置为出站属性,因此您应该能够执行类似的操作

    <set-property propertyName="http.status" value="#[message.inboundProperties['http.status']]"/>
    

    在出站 HTTP 调用之后以完全相同的状态进行响应。您还需要 http.disable.status.code.exception.check 来防止异常,除非您有其他类型的异常处理。

    【讨论】:

    • 谢谢安东!将http.disable.status.code.exception.check 与将http.status 添加为outboundproperty 结合使用就可以了!
    猜你喜欢
    • 2017-04-29
    • 2014-03-28
    • 2020-07-06
    • 2018-12-27
    • 2016-05-28
    • 2022-09-28
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多