1

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 を受け取るにはどうすればよいですか?

4

1 に答える 1

1

HTTPヘッダーを送信プロパティとして設定できるため、次のようなことができるはずです

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

アウトバウンド HTTP 呼び出しの後、まったく同じステータスで応答します。他のタイプの例外処理がない限り、例外を防ぐために http.disable.status.code.exception.check も必要です。

于 2014-04-23T11:10:31.523 に答える