我目前正在开发一个需要拆分传入消息的 BizTalk 实现。到目前为止,我能找到的唯一示例使用信封模式,该模式将为传入消息的每个子节点创建一条消息。
然而,在我收到的信息中,这还不够。我需要拆分消息,以便具有相同标识符的所有子记录成为一条消息。
简化后,入站消息如下所示:
<Root>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
</Root>
然而,显然有更多的数据,而不仅仅是一个 ID。我想要的是将其拆分为相同的结构,但每个 ID 生成一条消息,因此结果如下所示:
消息 1
<Root>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>1</ID>
</Child>
</Root>
消息 2
<Root>
<Child>
<ID>2</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
</Root>
除此之外,我不能确定 ID 是否会逐渐增加,但它们也可能会在消息中被打乱。ID也没有最小或最大出现;可能有一个,可能有50个。
所以我的问题如下:如何以最好的方式解决这个问题?我可以将信封用于这种“高级”分批程序吗?我是否需要创建自定义管道组件,或者还有其他秘密吗?;)
提前致谢!