使用动态路由

Microsoft BizTalk ESB 工具包支持使用内置进程和通用传递代理动态路由消息;它还支持使用 ESB 调度程序或 ESB 调度程序反汇编管道组件在消息层动态路由消息。

概述

Microsoft BizTalk ESB 工具包中的动态解析机制允许在消息到达时或消息传递前立即发现终结点。

工作原理

随 Microsoft BizTalk ESB 工具包一起提供的通用传递代理既是开发和使用动态路由技术的示例,也是指南。 可以轻松创建其他传递代理或实现仅包含发送端口的传递代理 (该代理不实现业务流程) 。 默认情况下,ESB 调度和 ESB 调度反汇编程序管道组件提供更优化的动态路由功能。

泛型传递代理本身实现一个业务流程,该业务流程订阅行程中当前 ServiceInstance 元素的 Name 属性为 Microsoft.Practices.ESB.Services.Routing 的消息。 代理执行以下操作序列:

  1. 它接收未键入的消息 (System.Xml。XmlDocument) 。

  2. 它尝试使用解析程序管理器解析 n 个终结点。

  3. 它使用适配器管理器设置消息上下文和逻辑动态端口的终结点属性。

  4. 它通过直接绑定发送端口发布消息,这会在动态发送端口上触发BizTalk Server订阅,以便进一步路由消息。

如何配置动态路由

有关如何使用行程Designer配置动态路由的详细信息,请参阅使用行程Designer创建路线。

动态路由错误

在以下情况下,动态路由机制将创建并发布 Microsoft BizTalk ESB 工具包错误消息:

  • 传递代理无法在实时 (JIT) 解析期间确定终结点。

  • 发生传递失败。

  • 输出消息不存在订阅服务器。

  • 发生任何系统异常。