2

HTTPリクエストから作成されたMuleMessageオブジェクトがある場合、リクエストのHTTPヘッダーをどのように取得しますか?私はMule3.2.1を使用しています。ありがとう。

4

3 に答える 3

6

HTTPヘッダーは、インバウンドスコープのプロパティとして保存されます。それらのプロパティ名の前には。が付いていhttp.ます。例えば:

MuleMessage message = ...
String contentType = (String)message.getInboundProperty("http.Content-Type");

ただし、「http」内には他のHTTP関連のプロパティがあります。ステータスコードの「http.status」やリクエストURLの「http.request」など、プロパティの名前空間も同様です。したがって、個々のヘッダーを取得することは可能ですが、すべてのHTTPヘッダーのリストを取得するための信頼できる自動化された方法はありません。

この問題はMule3.3で修正される予定です。Mule 3.3は、HTTP関連のプロパティをより適切に編成します。たとえば、すべてのヘッダーは「http.headers」という名前のプロパティに格納され、すべてのクエリ文字列パラメータは解析されて「http.query.params」に格納されます。

于 2012-05-16T17:34:29.960 に答える
5

すべてのHTTPヘッダーは、のインバウンドスコープのプロパティにありMuleMessageます。

于 2012-05-15T16:25:30.477 に答える
0

ログメッセージを入れて確認することもできます

<logger message="=============test= #[message.inboundProperties]" level="INFO" doc:name="Logger"/>

それがあなたのために働くかどうか私に知らせてください。

ありがとう

于 2017-05-26T03:06:45.270 に答える