2012-10-09 26 views
2

在我的Mule流程中,我有一條消息不斷被編輯,以形成流程結束時所有處理的記錄。有一次,我對Web服務進行HTTP調用以獲取消息的一些細節。將消息負載設置爲會話變量

我的問題如下: HTTP響應被保存爲消息有效載荷,它要求我將主記錄保存到會話變量中以保存所有先前的處理。但是,當我設置會話變量時,會話變量的值是[email protected](java.class =對象的類,必須進行編輯以符合我的行爲準則)。如何將消息負載的值設置爲會話變量而不是消息負載的內存位置?

+0

你可以分享你目前如何設置會話變量? – genjosanzo

+0

回答

2

假定你把會話對象是Serializable,就可以實現這一點使用MEL:

<set-session-variable variableName="tempCanonical" value="#[message.payload]" /> 
+1

這是我用過的初始值[email protected]輸出。直到後來我試着#[message:payload] –

+0

我沒有明白它:this *是將消息有效載荷存儲在會話變量中的方式。現在,也許有效負載沒有'toString()'方法實現,因此當你輸出它*作爲字符串*時,默認呈現「[email protected]」。但該對象應該在會話中。 –

+0

有沒有辦法使用$ {}符號引用tempCanonical? $ {session.tempCanonical}不允許我訪問這些值。 –