BizTalk-推广多个值,订阅其中之一

时间:2019-06-28 14:31:42

标签: biztalk biztalk-2016

短版: 可以以某种方式提升具有多个值的属性,以便发送端口可以预订列表中的值之一吗?

长版: 在数据库中,我具有映射信息,我们可以在其中将人员映射到位置。一个人可以在多个位置工作,并且一个位置可以有很多人在工作。运营团队使用良好的应用程序维护位置和人员(数千人)之间的关系,该应用程序会更新数据库。

一条消息进入Biztalk,其中包含多个人。

当前,BizTalk接收消息,从消息中提取人员列表,并将消息与相关人员列表一起转储到sql数据库中。 SQL解析人员/位置关系,并将不同的位置列表写入关联的表。我们有一个接收端口,用于运行查询,并将来自数据库的消息发布到消息框,该消息具有保留位置的提升属性。从那里我们有多个发送端口,每个发送端口都订阅特定的位置。

问题在于这不是一个有效的过程。消息将以多个时间发布到Biztalk消息框中(一次入站,至少一次出站)。<​​/ p>

是否可以使用管道组件提升消息应到达的位置,然后使发送端口订阅特定的位置?挑战在于,某些发送端口需要是ReST,而有些则是SOAP,因此位置之间的集成可能会有所不同。我看不出找到一种方法来发布具有多个值的多个属性,而发送端口可以订阅其中一个值。寻找想法...

1 个答案:

答案 0 :(得分:2)

有趣的是,上周也出现了同样的情况。...无论如何...

是,通过在过滤器中使用按位和谓词。这是&选项。您必须将每个位置映射到一个值(2的幂),但是每个属性最多可以支持32个选项(如果支持uint64,则为64个选项。。。嗯。。对不起,我只是不记得了:)

如果您需要的还不止这些,只需添加第二个组过滤器,东,西或其他。