Java Mule 3:如何从多消息中获取HTTP头
给定从HTTP请求创建的Java Mule 3:如何从多消息中获取HTTP头,java,mule,Java,Mule,给定从HTTP请求创建的MuleMessage对象,如何获取请求的HTTP头?我用的是骡子3.2.1。谢谢。所有HTTP头都位于MuleMessage的入站范围属性中。HTTP头存储为入站范围属性。它们的属性名的前缀是http.。例如: MuleMessage message = ... String contentType = (String)message.getInboundProperty("http.Content-Type"); 但是在“HTTP.”属性名称空间中还有其他与HTTP
MuleMessage
对象,如何获取请求的HTTP头?我用的是骡子3.2.1。谢谢。所有HTTP头都位于MuleMessage
的入站范围属性中。HTTP头存储为入站范围属性。它们的属性名的前缀是http.
。例如:
MuleMessage message = ...
String contentType = (String)message.getInboundProperty("http.Content-Type");
但是在“HTTP.”属性名称空间中还有其他与HTTP相关的属性,例如状态代码的“HTTP.status”和请求URL的“HTTP.request”。因此,虽然可以检索单个头,但没有可靠的、自动的方法来获取所有HTTP头的列表
这个问题很重要。Mule 3.3将更好地组织HTTP相关属性。例如,所有标题将存储在名为“http.headers”的属性中,所有查询字符串参数将被解析并存储在“http.query.params”中。您还可以通过放置日志消息进行检查
<logger message="=============test= #[message.inboundProperties]" level="INFO" doc:name="Logger"/>
如果对你有效,请告诉我
谢谢这样的
多消息
不能有其他非HTTP头的入站范围属性吗?如果是,我如何知道哪些是HTTP头?谢谢。您还将有Mule特定的头,前缀为Mule\uuu
,还有传输特定的头,前缀为http.
。你应该能把麦子从谷壳里拣出来。谢谢大卫。根据这个页面,似乎没有任何可靠的方法可以获得Mule 3.2.1中所有HTTP头的列表。然而,在版本3.3中(参见JIRA票证),所有HTTP属性都将得到更好的组织,这样它们就不会被混淆成“HTTP”。例如,所有头都将组织在“http.headers”属性内的映射中。