2017-03-10 9 views
0

私はApache Camel HTTPコンポーネントを使用しており、要求を送信して応答を受け取ることができます。Camel ProducerTemplateがHttpResponseコードを返さない

エラーが発生した場合、私は例外を受け取り、ヘッダーからHTTP応答コードを取得しようとすると応答はnullになります。

if(exchange.getException() != null){ 
    exchange.getException().printStackTrace(); 
    String responseCode = (String) exchange.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE); 
} 

exchange.getOut()はNULLであり、NullPointerExceptionで失敗します。

このような場合にHTTPResponseコードを取得するにはどうすればよいですか?例:400,404,405.

+1

このFAQを参照してください:使用http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html –

+0

交換パターンはInOutのです。 – Samy

+0

しかし、getOutを呼び出す前にhasOutを呼び出す必要があります。 –

答えて

1

httpコンポーネントのドキュメントによれば、例外から応答コードを抽出できるはずです。おそらく、

このような何か:

int code = ((HttpOperationFailedException)exchange.getException()).getStatusCode(); 
+0

ありがとう、それは私が試してみて、働いていることがわかったものです。 – Samy

関連する問題