0

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

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

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

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

4

1 回答 1

0

您需要使用的是所谓的相关性

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

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

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

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

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

当您初始化关联时,Orchestration 将发布一个实例订阅。也就是说,它正在查找具有指定的提升属性的消息。

于 2017-06-17T00:04:02.570 回答