<flow name="getDetails">
<http:inbound-endpoint doc:description="This endpoint receives an HTTP message." doc:name="HTTP" exchange-pattern="request-response" host="localhost" port="8081" path="getDetails"/>
<json:xml-to-json-transformer doc:name="XML to JSON" mimeType="text/json" ignoreBadInput="true"/>
<logger message="xml to json output #[message.payload]" level="INFO" doc:name="Logger"/>
<logger message=" custom header username ... #[message.outboundProperties.get('http.headers.username')]" level="INFO" />
<logger message=" custom header username ... #[message.inboundProperties.get('http.headers.username')]" level="INFO" />
<http:outbound-endpoint exchange-pattern="request-response" address="http://localhost:8081/callReservation" method="POST" contentType="application/json" doc:name="HTTP"/>
</flow>
通过postman rest客户端(chrome)使用 form-data,x-www-form-urlencoded。
我将标题值设置为
的 http.headers.username =骡
http.headers.password =骡
在mule **<logger message=" custom header username ... #[message.outboundProperties.get('http.headers.username')]" level="INFO" />**
它显示空值。欢迎任何有价值的建议
答案 0 :(得分:0)
您不需要将密钥名称用作http.headers.username。请使用密钥作为用户名和值作为mule。然后,您应该能够使用MEL来访问入站属性中的用户名属性,如#[message.inboundProperties [&#39;用户名&#39;]]
答案 1 :(得分:0)
问题似乎来自你的
<json:xml-to-json-transformer doc:name="XML to JSON" mimeType="text/json" ignoreBadInput="true"/>
给出了以下例外情况: - com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<' at [row,col {unknown-source}]: [1,1] (javax.xml.transform.TransformerException) (org.mule.api.transformer.TransformerException).
只需使用以下表达式: -
记录器中的#[message.inboundProperties.username]
或#[message.inboundProperties['username']]
并将放在 <http:inbound-endpoint/>
之后,您将获得该值。