鉴于从HTTP请求创建的MuleMessage
对象,您如何获取请求的HTTP标头?我正在使用Mule 3.2.1。感谢。
答案 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"/>
请告诉我这是否适合您。
由于