BizTalk - 异常处理和向系统管理员发送警报

时间:2011-04-12 11:41:52

标签: biztalk biztalk-2009

在Microsoft BizTalk应用程序发生异常时,服务或端口将进入挂起模式,需要手动启动应用程序或端口。

我想要的是,在消息处理过程中发生任何异常时,应向系统管理员发送一封电子邮件警报,异常的详细信息应存储在单独的数据库中以供进一步处理。

任何人都有更好的建议我们如何做到这一点。

此致

勒凯什

2 个答案:

答案 0 :(得分:2)

要处理邮件失败,请参阅using Failed Message Routing。对于关闭时监视端口,您可以使用MOM(昂贵)或编写脚本来执行您想要的操作。 stackoverflow中有很多帖子可以解决这个问题......这里是one such post

答案 1 :(得分:2)

为任何消息传递失败(即发送或接收端口发生故障)发送电子邮件警报

  1. 对于要跟踪故障的每个发送或接收端口,编辑端口属性并选中“为失败的消息启用路由”复选框
    • 对于发送端口,您可以在“传输高级选项”下找到此选项。
    • 接收端口的选项位于端口属性的“常规”部分下。
  2. 使用SMTP适配器发送电子邮件,创建新的发送端口(可能在单独的“异常处理”BizTalk应用程序中)。
  3. 要使用此新端口发送所有失败的消息,请使用属性ErrorReport.ErrorType == FailedMessage在发送端口上创建过滤器。对于您启用了失败消息路由的发送或接收端口上的错误的所有消息,这将评估为真。
  4. 如果您需要以更细微的级别对消息进行不同的路由,请查看ChrisLoris引用的Failed Message Routing page上的属性。
  5. 要在单独的数据库中跟踪失败消息的异常,我将从Microsoft BizTalk ESB Toolkit异常管理框架开始,因为它包含用于此目的的数据库以及将异常/失败消息数据推送到该数据库的机制(构建在失败的消息路由之上)。它甚至还包括一个网站,使用户能够与失败的消息进行交互,您可以根据需要自定义或完全丢弃。

    http://msdn.microsoft.com/en-us/library/ee250099.aspx提供了安装ESB工具包的异常管理部分的说明。 Microsoft的使用ESB异常管理的指南也值得审查,并且是here