2014-10-09 147 views

回答

0

消息屬性變換器是將不同範圍的變量/屬性添加到消息的舊方法。

Mule改進了消息屬性變換器並將其拆分爲<set-variable>,<set-property><set-session-variable>變換器。 除了明確的功能分離之外,當查看流程圖時,這使得流程更具可讀性和可理解性。

要記住的一點是,消息屬性默認將屬性添加到出站作用域。如果您想將其添加到必須在scope屬性中提及的調用作用域中。

<message-properties-transformer scope="invocation"> 
    <add-message-property key="someKey" value="someValue"/> 
</message-properties-transformer> 

希望這會有所幫助。

+0

將範圍設置爲「調用」本身後,我看到此行爲。另一種觀察是,如果我在groovy腳本中創建一個調用變量,datamapper不會識別。似乎只有set-variable對於datamappers可見。 – shrinathM 2014-10-10 06:03:33

+0

請編輯答案以修復缺少的變壓器名稱。 – 2014-10-10 17:59:47

+0

@RyanHoegg感謝您的觀察。我現在正確地編輯它。 :) – user1760178 2014-10-10 18:28:23

1

不,這是不正常的。

確保在消息屬性變換器上使用invocation作用域。

+0

我做過大衛。另外,如果在Groovy腳本中設置了任何調用變量,則該變量不會顯示在datamapper下拉列表中。只有從set-variable設置的變量纔會顯示。這裏我只關心調用變量。我沒有試驗其他變量。 – shrinathM 2014-10-10 06:06:03

+1

感覺像一個bug然後:在https://www.mulesoft.org/jira打開一個JIRA並且正如user1760178所說的那樣,'message-properties-transformer'是舊東西,反正你應該使用'set-variable'。 – 2014-10-10 15:43:52

+1

我認爲您要查找的Data Mapper功能稱爲Data Sense,我不認爲它能夠從groovy腳本獲取所需的元數據。應該可以將它添加到消息屬性轉換器中。 – 2014-10-10 17:59:11