我正在發送一些參數給mule,這個參數是通過8081我正在發送的http inbound監聽的。如何讀取mule esb中的參數
http://localhost:8081/hey?age=manoj
但我不知道我怎麼能把這個從信息? 我知道我可以從消息和有效載荷訪問它,但是當我嘗試這樣做
#[message payload: ['age']]
我得到錯誤的有效載荷是一個字符串類型,我在騾子很迷惑。 我想要年齡值。
我正在發送一些參數給mule,這個參數是通過8081我正在發送的http inbound監聽的。如何讀取mule esb中的參數
http://localhost:8081/hey?age=manoj
但我不知道我怎麼能把這個從信息? 我知道我可以從消息和有效載荷訪問它,但是當我嘗試這樣做
#[message payload: ['age']]
我得到錯誤的有效載荷是一個字符串類型,我在騾子很迷惑。 我想要年齡值。
您需要使用Mule HTTP Body來Param Map轉換器,才能將Params轉換爲Map。
<http:body-to-parameter-map-transformer />
然後序訪問參數的MEL表達中使用是#[有效載荷[ '年齡']]
希望這有助於。
這將作爲入站屬性進入。您可以使用MEL訪問:
<logger message="#[message.inboundProperties['age']]" level="INFO" doc:name="Logger"/>
不過要小心你需要確保使用inboundProperty在相同的流量作爲你的HTTP入站端點。
您可以通過入站屬性http.query.params檢索HTTP查詢參數。爲了獲得年齡參數,如果您使用的騾子3.6或以上版本使用以下MEL表達
#[message.inboundProperties.'http.query.params'.get('age')]
,表達已經改變..
所以,現在,你需要下面的表達式來獲取值: -
#[message.inboundProperties.'http.query.params'.age]
你可以在這裏找到適合你的參考查詢: - https://developer.mulesoft.com/docs/display/current/HTTP+Listener+Connector
工作在騾子3.7 – JRichardsz 2018-02-12 17:22:45
在騾子3.6或3.7,如果你一直用身體爲參數變壓器你的騾子應用程序,這已被棄用。如果您需要訪問入站屬性值,可以使用message.inboundProperties來完成。
例子:
<set-payload value="#[message.inboundProperties.'http.query.params']" doc:name="Set Payload"/>
如果你想用它在Groovy腳本,請參閱本
getting inbound properties of ESB Mule message using Groovy
基本上告訴你可以使用它作爲
message.getInboundProperty('http.query.params')?.yourFantasticParam
或
message.getInboundProperty('http.query.params')?.age
你能分享實際的錯誤信息? – Rohit 2014-11-07 09:41:56