创建用于处理无归属或重复消息的发送端口

本主题介绍如何设置可用于删除孤立或重复消息的发送端口。

如果 Microsoft® BizTalk Accelerator for RosettaNet (BTARN) 在公共流程编排完成对消息第一个副本的处理后收到额外的消息副本,那么孤立或重复消息可能会成为一个问题。 BTARN 将这些消息标记为重复消息并挂起它们。 可以在 BizTalk 管理控制台中查看这些消息。 有关 BizTalk 管理控制台的详细信息,请参阅 BizTalk Server 帮助中的“使用 BizTalk 管理控制台”。

在您查看或删除之前,孤立消息或重复消息将保留在 BizTalk 管理控制台中。 删除它们的最有效方法是设置一个发送端口,其中包含为孤立或重复消息设置的筛选器。 可以使用 BizTalk Server 中提供的任何运输方式移动它们。 例如,可以使用文件传输来移动它们。 BTARN 将无主消息或重复消息作为文件形式发送到硬盘的某个位置。 这样可以轻松删除它们。 端口可以处于初始化和停止状态,在这种情况下,发送到该端口的所有消息将显示为暂停在该发送端口中。

注释

可以创建一个特殊的管道组件,以从 MessageBox 数据库中删除这些消息,而不是创建用于处理重复/孤立消息的发送端口。 可以将 BizTalk Server SDK 中的 FixMsg 组件用作模板。 必须修改 IComponent.Execute 方法才能返回 null。 这会导致 BizTalk Server 丢弃发送到包含该组件的管道的任何消息。 必须编译此管道组件并将其添加到发送管道,然后编译、部署并选择接收器端口的发送管道。 有关详细信息,请参阅 BizTalk Server 帮助中的“CustomComponent(BizTalk Server 示例)”。

创建用于处理孤立或重复消息的发送端口

  1. 在 Visual Studio 的 “视图 ”菜单上,单击 “BizTalk 资源管理器”。

  2. 在 BizTalk 资源管理器中,展开 BizTalk 管理数据库,然后展开 发送端口

  3. 右键单击 “发送端口”,然后单击“ 添加发送端口”。

  4. 在“新建发送端口”窗口中,选择 “静态 One-Way 端口”,然后单击“ 确定”。

  5. 在“静态 One-Way 发送端口属性”窗口中的“ 名称 ”框中,键入发送端口的名称。

  6. 在左窗格中,单击“ 传输”。 在右窗格中,单击“ 传输类型”,然后选择传输类型的 FILE 。 单击 地址(URI)旁边的省略号按钮(...),键入硬盘上的位置,然后单击“ 确定”。

  7. 在左窗格中,单击“ 发送”,单击“ 发送管道”,然后选择 Microsoft.BizTalk.DefaultPipelines.PassThruTransmit

  8. 在左窗格中,单击“ 筛选器”和“地图”,然后单击“ 筛选器”。

  9. 在右窗格中的第一行,针对Property,从下拉列表中选择Microsoft.Solutions.BTARN.GlobalSchemas.IsDuplicateMessage,将运算符保持不变,输入True作为,然后从Group的下拉列表中选择Or

  10. 在右窗格中的第二行中,对于 “属性”,从下拉列表中选择 Microsoft.Solutions.BTARN.GlobalSchemas.IsOrphanMessage ,将 运算符 保留为 True ==,然后输入 True 作为

  11. 单击 “确定”

  12. 在 BizTalk 资源管理器中,右键单击发送端口的名称,单击“ 登记”。 登记发送端口后,右键单击发送端口,然后单击“开始”。

另请参阅

编程指南