恢复实例时路由失败-BizTalk

恢复实例时路由失败-BizTalk,biztalk,biztalk2006r2,Biztalk,Biztalk2006r2,我创建了一个小型BizTalk应用程序,它有一个动态发送端口,传递通知==已传输 发送端口配置为文件夹路径,当文件夹不存在时,它将挂起业务流程。创建文件夹后尝试恢复编排时。我在BizTalk查询表达式中得到了两个实例。实例错误消息为 状态:暂停(不可恢复) 错误代码:0xC01B4E(路由故障报告) “的路由失败报告”的路由失败报告 状态:暂停(可恢复) 错误代码:0xC01B02 错误描述:无法路由已发布的邮件,因为找不到订阅服务器 注: 只有在设置传递通知==已传输时,我才会收到此错误消息

我创建了一个小型BizTalk应用程序,它有一个动态发送端口,传递通知==已传输

发送端口配置为文件夹路径,当文件夹不存在时,它将挂起业务流程。创建文件夹后尝试恢复编排时。我在BizTalk查询表达式中得到了两个实例。实例错误消息为

  • 状态:暂停(不可恢复)
  • 错误代码:0xC01B4E(路由故障报告)

    “的路由失败报告”的路由失败报告

  • 状态:暂停(可恢复)
  • 错误代码:0xC01B02

    错误描述:无法路由已发布的邮件,因为找不到订阅服务器

    注:

  • 只有在设置传递通知==已传输时,我才会收到此错误消息

  • 这在某些环境下工作良好


  • 这可能是因为接收位置中的管道定义未设置为XML管道。更改管道,它应该可以工作。

    如果路由失败,将始终有两个失败实例:

    第一种是不可恢复、仅提供信息的“路由故障报告”

    第二个是由于未找到订户而未路由的实际消息。因此,“由于未找到订阅者,无法路由已发布的消息”。这类似于“将状态持久化到数据库时发生异常”。在业务流程路由失败时,我们会看到错误消息

    现在区别是什么: 挂起(可恢复)实例将显示消息正文,您将能够看到消息的内容(正文)。但是,该消息的上下文属性不会帮助您找到路由失败的原因

    但是,挂起(不可恢复)消息将具有所需的“上下文属性”,这将帮助您确定路由失败的原因。这就是为什么我们看到下面的内容


    此服务实例的存在是为了帮助调试实例“{your message instance id}”的路由失败。与此实例关联的消息上下文包含路由失败时所有升级的属性

    我已经在几台机器上测试了这个应用程序,它在一些机器上运行良好,在一些机器上出现了上述错误。因此,我怀疑可能存在一些环境问题—AzamWhen消息传递引擎或编排引擎将消息发布到messagebox时,如果没有人订阅该消息,则被视为路由失败。