我们有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?
或者我可以用的其他方式?
答案 0 :(得分:0)
您需要使用的是correlations。
根据情况,您将需要一个或两个相关集,具体取决于来自第二个系统的确认消息是同步还是异步。我将假设异步,因为那是更复杂的
你需要定义两个相关集,一个用于IntIdMess1,我们称之为IntIdMess1Corr,另一个用于IdSecond,我们称之为IdSecondCorr
Orchestration通过接收形状从System1接收Mess1并通过发送形状将其发送到System2,您需要初始化相关集并将此发送形状配置为IntIdMess1Corr。
然后您将获得一个从System2获取确认消息的接收形状,此接收形状将以下相关集设置为IntIdMess1Corr,并将初始化相关集配置为IdSecondCorr。
然后你将有另一个接收形状来接收最后一个形状,其中以下相关集被配置为IdSecondCorr。
初始化关联时,业务流程将发布实例订阅。也就是说,它正在查找具有指定的提升属性的消息。