1

フローhttpで公開されているサービスがあります。Mule 3.3.0ここで、エラーが不正な xml と正しくない入力値によるものであるか、jms がダウンしているようにサーバー側でエラーが発生したかを区別したいなど、さまざまな例外条件で異なる応答を返したいと考えています。これをフローでどのように処理するのが最善でしょうか。

private flow例外をキャッチし、目的の応答にトランスフォーマーを適用する作成を試みました。制御が呼び出し元のメイン フローに戻ると、返されたプライベート フローの例外はペイロード メッセージとして扱われ、残りの処理が続行されます。プライベートフローから返された例外は、の応答として返されませんhttp service(私のフローは http サービスを公開しているため)

プライベート フローで例外が発生した場合、残りのフローを停止する方法はありますか?

サーバーまたはクライアントのエラーに基づいて、ユーザーにスローされるエラー メッセージを区別したいので、xml 検証をプライベート フローに入れます。

4

2 に答える 2

1

例外はプライベート フローで処理されるため、標準のメッセージ ルーティングを使用して、プライベート フローの結果に基づいて親フローの処理パスを変更する必要があります。

たとえばchoice、呼び出しの後にルーターを使用しflow-ref、いくつかのプロパティの存在 (またはケースで意味のあるもの) に基づいて、処理を続行するか、すぐに応答を返すことができます。

于 2013-02-11T19:56:35.070 に答える
0

私によると、Catch Exception Strategy は最高のものです。bcz は参照でき、選択例外で呼び出すこともできます。

于 2015-08-26T08:14:52.560 に答える