首页 > 解决方案 > 根据 BizTalk 中的 xml 内容按顺序传递消息

问题描述

我在通过网站从第三方接收文件时遇到问题。这些文件按顺序来自第三方并位于一个文件夹中。由于安全限制,我无法通过 SMB 直接轮询目录,而是必须使用 SFTP 每 1 分钟获取一次文件。这会产生一个问题,因为按顺序交付给我的文件现在都在我的接收位置的文件夹中。我需要按照它们到达我的发送端口的顺序传送这些文件。

我曾考虑创建一个单独的程序来打开文件,然后按顺序将它们复制(基于 XML 中称为 SequenceId 的段)到 BizTalk 服务器中的一个文件夹,该文件夹由接收位置监控,这将确保文件被传递为了。我不想介绍另一个故障点(程序),但我不确定如何使用纯 BizTalk 做到这一点。

标签: biztalk

解决方案


您可以使用纯 BizTalk(搜索 BizTalk 重新排序)来执行此操作,但是您最终会得到一个复杂的解决方案,包括单例业务流程,并且使用数据库表通常更容易。

  1. 第一个界面将其拾取,然后将数据插入表中。如果您的消息结构是平面的,则可以作为平面表,或者作为一个包含 XML 数据的字段和另一个包含从有效负载中提取的序列号的字段。
  2. 您的第二个接口轮询一个存储过程,该过程查看是否可以处理下一个序列。

如果某个序列的特定消息从未到达,您是否发送警报,或在预设延迟后处理您收到的消息,您将不得不考虑该怎么做。


推荐阅读