2017-02-12 5 views
0

私はAnypoint Studio 6.1とMule 3.8.1を使用しており、MongoDBを呼び出すフローを持っています。 HTTPのステータスを取得して、例外処理を設定する方法を見たいと思います。 MongoDBを切断してMuleワークフローを実行すると、期待通りに失敗しますが、この式message.inboundProperties['http.status']を試して、例外メッセージコードが-1であるときにHTTPステータスがnullとして返されますが、エラーをワークフローの最後まで再生するとステータスは郵便配達員で500と表示されます。HTTPステータスコードを取得する方法

HTTPステータスを取得するにはどうすればよいですか?

おかげ

答えて

1

message.inboundProperties [ 'http.status'] HTTPリクエスト呼び出しがフロー内で行われたときhttp.statusコードを与えます。フローがDBを呼び出そうとしている場合は、目的の例外をキャッチするために、フローのエラー処理の中にキャッチ例外戦略が必要な場合があります。例外が一致する場合は、http.statusと例外ペイロードをクライアント側に送信するように設定できます。あなたは、あなたが次のコードを使用することができますAPIKitルーターを使用している場合

0

<apikit:mapping-exception-strategy name="apiKitGlobalExceptionMapping"> 
    <apikit:mapping statusCode="500"> 
     <apikit:exception value="java.lang.Exception"/> 
     <set-property propertyName="Content-Type" value="application/json" doc:name="Property" /> 
     <set-payload value="{ &quot;message&quot;: &quot;Internal server error&quot; }" doc:name="Set Payload" /> 
    </apikit:mapping> 

は、詳細については次のことが確認できhere

関連する問題