骡子3:如何从MuleMessage获取HTTP头

时间:2012-05-15 14:58:52

标签: java mule

鉴于从HTTP请求创建的MuleMessage对象,您如何获取请求的HTTP标头?我正在使用Mule 3.2.1。感谢。

3 个答案:

答案 0 :(得分:6)

HTTP标头存储为入站范围的属性。它们的属性名称以http.为前缀。例如:

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

但是“http”中还有其他与HTTP相关的属性。属性命名空间,例如状态代码的“http.status”和请求URL的“http.request”。因此,虽然可以检索单个标头,但是没有可靠的自动方式来获取所有HTTP标头的列表

此问题为slated to be fixed in Mule 3.3。 Mule 3.3将更好地组织与HTTP相关的属性。例如,所有标题都将存储在名为“http.headers”的属性中,所有查询字符串参数都将被解析并存储在“http.query.params”中。

答案 1 :(得分:5)

所有HTTP标头都在MuleMessage的入站范围属性中。

答案 2 :(得分:0)

您也可以通过输入日志消息进行检查

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

请告诉我这是否适合您。

由于