2

给定一个MuleMessage从 HTTP 请求创建的对象,如何获取请求的 HTTP 标头?我正在使用骡子 3.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 标头的列表

这个问题将在 Mule 3.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 回答