2015-08-17 41 views
1

我正在解決傳出消息中缺少兩個XML元素的問題。試圖在消息經過編排之前將消息捕獲到文本或xml文件中

我有以下幾個比較簡單的業務流程:

Receive Port -> Orchestration -> Send Port (IBM MQ) 

我希望它經過編排之前,看看是否傳入的消息是一個問題,檢查該消息。爲此,我創建了一個額外的發送端口,其中FILE型傳輸(我稱之爲DefectTroubleshootingSendPort)和PassThruTransmit用於發送管道。

的URI這個端口是: C:\temp\Defect986\%MessageID%.xml

我設置的過濾器對這個發送端口作爲

BTS.ReceivePortName == "OrderManagement.MembershipActivityExport.ReceivePort"

我加入這個新的端口和原來的MQ發送端口的發送端口將該組綁定到Orchestration的出站邏輯端口。

即使在這之後,我看不到臨時文件正在寫入。消息傳遞給MQ。

我這樣做是正確的,還是有更好的方法來捕獲傳入的消息?我甚至需要過濾器嗎?

回答

2

你可以簡單地停止編排,但保持徵募。當消息進入時,編排實例將產生,但處於暫停(可恢復)狀態,允許您查看其消息。

1

爲了讓你做你想做的事:

  • 啓用對傳入的跟蹤接收端口。您可能想要使用XmlReceive,因爲默認情況下可能未啓用PassThruReceive管道跟蹤。
  • 啓用後,請檢查Tracked Message Events集線器頁面並查看跟蹤的屬性。如果接收端口名稱/屬性被提升,則可以在該消息中寫入AND(重要!)。

如果接收端口屬性被提升,請檢查過濾器是否正確。我假設你的過濾器是不正確的。