BizTalk查找ID

时间:2017-06-16 11:21:36

标签: biztalk biztalk-2010 biztalk-orchestrations

我们有BizTalk 2010.
描述任务:
第一个系统发送消息:
  - 第一系统中的ID
  - 第二系统中的ID

第二个系统接收消息并发送另一条消息:   - 确认收到的留言编号
  - 第一系统中的ID
  - 第二系统中的ID

问题:
1.下次在第二个系统中查找ID的最佳方法是什么? 例如
-------------------------------------
来自First System的Mess1 IntIdMess1 = 123456789
IdFirst = 1
IdSecond =空左 -------------------------------------
来自第二系统的Mess2
IntIdMess2 = 9876545432
已确认= 123456789
IdFirst = 1
IdSecond = 367
-------------------------------------
来自First System的Mess2 IntIdMess1 = 534735648
IdFirst = 1
IdSecond = 367

如何在BizTalk中使用Orchestration为Mess2找到367?
或者我可以用的其他方式?

1 个答案:

答案 0 :(得分:0)

您需要使用的是correlations

根据情况,您将需要一个或两个相关集,具体取决于来自第二个系统的确认消息是同步还是异步。我将假设异步,因为那是更复杂的

你需要定义两个相关集,一个用于IntIdMess1,我们称之为IntIdMess1Corr,另一个用于IdSecond,我们称之为IdSecondCorr

Orchestration通过接收形状从System1接收Mess1并通过发送形状将其发送到System2,您需要初始化相关集并将此发送形状配置为IntIdMess1Corr。

然后您将获得一个从System2获取确认消息的接收形状,此接收形状将以下相关集设置为IntIdMess1Corr,并将初始化相关集配置为IdSecondCorr。

然后你将有另一个接收形状来接收最后一个形状,其中以下相关集被配置为IdSecondCorr。

初始化关联时,业务流程将发布实例订阅。也就是说,它正在查找具有指定的提升属性的消息。