2014-11-04 38 views
3

我正在發送一些參數給mule,這個參數是通過8081我正在發送的http inbound監聽的。如何讀取mule esb中的參數

http://localhost:8081/hey?age=manoj 

但我不知道我怎麼能把這個從信息? 我知道我可以從消息和有效載荷訪問它,但是當我嘗試這樣做

#[message payload: ['age']] 

我得到錯誤的有效載荷是一個字符串類型,我在騾子很迷惑。 我想要年齡值。

+0

你能分享實際的錯誤信息? – Rohit 2014-11-07 09:41:56

回答

0

您需要使用Mule HTTP Body來Param Map轉換器,才能將Params轉換爲Map。

<http:body-to-parameter-map-transformer />  

然後序訪問參數的MEL表達中使用是#[有效載荷[ '年齡']]

希望這有助於。

0

這將作爲入站屬性進入。您可以使用MEL訪問:

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

不過要小心你需要確保使用inboundProperty在相同的流量作爲你的HTTP入站端點。

1

您可以通過入站屬性http.query.params檢索HTTP查詢參數。爲了獲得年齡參數,如果您使用的騾子3.6或以上版本使用以下MEL表達

#[message.inboundProperties.'http.query.params'.get('age')] 
0

在騾子3.6或3.7,如果你一直用身體爲參數變壓器你的騾子應用程序,這已被棄用。如果您需要訪問入站屬性值,可以使用message.inboundProperties來完成。

[message.inboundProperties.'http.query.params']

例子:

<set-payload value="#[message.inboundProperties.'http.query.params']" doc:name="Set Payload"/>