2017-04-12 55 views
1

我需要獲取唯一的ID以通過日誌跟蹤消息。 我正在使用WSO2 ESB 4.8.1。 我發現了一篇與WSO2 ESB 5.0.0相關的文章。 http://nuwanzone.blogspot.it/2016/12/wso2-esb-tracing-messages-through-logs.html。 它描述瞭如何使用MessageContext對象爲每個消息設置唯一的ID,以便我可以從消息流中的任何位置訪問它。 是否有可能在WSO2 ESB 4.8.1中實現類似的解決方案? (移植)在WSO2 ESB 4.8.1中的解決方案? 你知道不同的解決方案嗎?通過WSO2 ESB中的日誌跟蹤消息4.8.1

+0

如果您正在處理SOAP消息,則可以使用MessageID屬性。該屬性在調解器中使用常規的get-property()XPath函數是可用的。 –

+0

是的,你不能使用舊版本。 –

+0

謝謝@PhilippeSevestre的回答。 是的,我處理SOAP消息。 我會盡快嘗試 在此先感謝。 –

回答

1

您可以在啓動時將MessageID保存在屬性中,然後將其添加到您的日誌介體中。示例:

<property description="SetMessageUUID" expression="fn:substring-after(get-property('MessageID'), 'urn:uuid:')" name="MessageUUID" scope="default" type ="STRING"/> 
<log> 
    <property name="Step" expression="Request service A"/> 
    <property name="ID" expression="get-property('MessageUUID')"/> 
</log> 
<call> 
..... 
</call> 
<log> 
    <property name="Step" expression="Response service A"/> 
    <property name="ID" expression="get-property('MessageUUID')"/> 
</log>