簡體   English   中英

如何在業務流程BizTalk 2010中循環

[英]How to loop in orchestration BizTalk 2010

我正在尋找循環從wcf-sql適配器接收到的SQL Server數據的數據。

我使用for循環和以下

itostring=i.ToString();
MessageOne=xpath(MessagePolling,"/*[local-name()='MainData' and namespace-uri()='http..["+itostring+"]");

當XPath作為第一個接收消息的路徑時[i]

這是正確的方法嗎?

有兩種方法可以^^ BizTalk接收的Xml消息中包含的多個記錄:

信封架構

當您定義表示消息的架構時,請將其標記為信封架構。 這告訴接收管道反匯編程序為傳入消息中的每個記錄(在您的情況下是從WCF-SQL適配器創建)創建(並發布)一條消息到BizTalk消息框。 這將導致為傳入消息中的每個記錄啟動一個Orchestration實例。

理查德Seroter對從WCF-SQL適配器這樣一個偉大的博客文章- http://seroter.wordpress.com/2010/04/08/debatching-inbound-messages-from-biztalk-wcf-sql-adapter/

請注意,使用這種方法,您不想從傳入消息中分拆成千上萬條記錄,因為BizTalk會停止運行:-)

業務流程中的XPath

如果不使用信封架構,則將為傳入消息(包含多個記錄)啟動一個Orchestration實例。 在Orchestration中的Expression Shape中,可以使用XPath(和其他魔術)在每個記錄周圍循環,將每個提取到Orchestration變量(然后可以映射到其上)。

查看以下鏈接,這些鏈接將幫助您通過XPath進行提取:

^從BizTalk Server 2009(我認為-似乎很久以前)開始,還有第三種方法可以實現此目的,您可以在業務流程中執行接收管道,以便可以在業務流程中執行信封分批處理,而不是接收位置的接收管道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM