骡子返回500而不是400

时间:2014-04-23 10:01:53

标签: mule http-status

我正在对一个将调用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需要做什么?

1 个答案:

答案 0 :(得分:1)

您可以将HTTP标头设置为出站属性,这样您就可以执行类似

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

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