ESB 故障处理器管道

Microsoft BizTalk ESB 工具包安装名为 ALL 的发送端口。使用 ESBFaultProcessor 发送管道的异常。 图 1 显示了 ALL 的属性。发送端口例外。

所有异常发送端口

图 1

ALL 的配置。异常发送端口,包括其使用 ESBFaultProcessor 管道

ESBFaultProcessor 管道包含以下管道组件:ESB 异常编码器、ESB 业务活动监视 (BAM) 跟踪器和 ESB 转换。

ALL。异常发送端口订阅所有 ESB 错误消息和 BizTalk 失败消息路由机制生成的所有消息。 图 2 显示了 ALL 的筛选器属性设置。发送端口例外。

筛选器发送端口

图 2

ALL 的筛选器属性。异常发送端口定义端口订阅

故障处理器管道异常编码器组件

ESB 异常编码器管道组件将 ESB 失败业务流程异常路由机制和 BizTalk 失败消息路由机制中生成的故障消息规范化为符合 ESB 异常报告架构的规范消息。

对于失败的业务流程异常路由异常,组件将所有错误消息属性、XLANG 消息、上下文属性和 System.Exception 信息扩充并序列化为 XML 消息。

对于失败的消息路由异常,组件通过添加应用程序名称和其他环境属性来扩充数据,并将架构命名空间应用于出站 XML 消息内容。

(可选)ESB 异常编码器管道组件还可以将 Microsoft InfoPath 处理指令应用于出站消息。 可以通过在设计视图中设置管道组件的属性来修改 InfoPath 说明。 以下三个设计时属性会影响 ESB 异常编码器管道组件的运行时行为:

  • EscapeCDATA。 此属性确定组件是否会转义在持久化消息中找到的任何 CDATA 部分,以便 InfoPath 可以正确显示它们。

  • FaultDocumentNamespace。 此属性的默认值 http://schemas.microsoft.biztalk.practices.esb.com/exceptionhandling为 。 可以将其修改为对持久化消息使用自定义出站命名空间。

  • ProcessingInstruction。 此属性可以包含符合 ESB 异常报告错误架构的任何 InfoPath 处理指令。 Microsoft BizTalk ESB 工具包包含符合以下处理指令的 InfoPath 模板。

    <?mso-infoPathSolution solutionVersion="1.0.0.346" productVersion="11.0.6565"  
    PIVersion="1.0.0.0"   
    href=file:///\\localhost\publish\Microsoft.Practices.ESB.ExceptionHandling.InfoPath.Reporting.xsn  
    name="urn:schemas-microsoft-com:office:infopath:  
    Microsoft-Practices-ESB-ExceptionHandling-InfoPath-Reporting:  
    http---schemas-microsoft-biztalk-practices-esb-com-exceptionhandling"  
    language="en-us" ?><?mso-application progid="InfoPath.Document"?>  
    

故障处理器管道 BAM 跟踪器组件

ESB BAM 跟踪器管道组件从 ESB 异常编码器组件接收消息,并将所选故障数据写入安装 ESB 异常管理框架期间创建的 BAM 主导入表。

ESB BAM 跟踪器组件使用管道上下文的 GetEventStream 方法将以下字段作为活动记录添加到 BAM 主导入数据库:

  • 应用程序

  • 说明

  • FaultSeverity

  • ServiceName

  • ErrorType

  • FaultCode

  • MachineName

  • MessageID

  • DateTime

  • FaultDescription

  • 范围

  • FailureCategory

  • FaultGenerator

  • ServiceInstanceID

    ESB BAM 跟踪器组件使用消息标识符 (MessageID 属性) ESB 错误消息的值作为 BAM 活动 ID。 ESB BAM 跟踪器组件公开了两个设计时属性,你可以将其设置为更改其运行时行为:

  • 已启用。 此属性确定组件是否将处理消息并将其写入 BAM 数据库。 设置为 False 时,组件只会将消息发送到管道中的下一个组件。

  • FaultDocumentNamespace。 此属性的默认值 http://schemas.microsoft.biztalk.practices.esb.com/exceptionhandling为 。

故障处理器管道转换组件

ESB 故障处理器管道使用 ESB 转换管道组件执行 BizTalk 映射,该映射将编码的 ESB 错误消息转换为与 BizTalk SQL 适配器 (ExceptionSql.xsd) 架构匹配的格式。 然后,组件将转换后的消息传递到 SQL 适配器,该适配器将 ESB 错误消息插入 ESB 管理门户数据库。

ESB 转换管道组件公开三个设计时属性,可以修改这些属性以更改其运行时行为:

  • 已启用。 此属性启用或禁用组件。

  • 验证。 此属性指定是否需要验证消息。

  • MapName。 此属性包含映射的名称,必须执行该映射才能将消息转换为 ESB 管理门户数据库中的存储。 下面是默认值。

    Microsoft.Practices.ESB.ExceptionHandling.Maps.FaultMessage_to_ExceptionSql,  
    Microsoft.Practices.ESB.ExceptionHandling.Maps,  
    Version=2.0.0.0,  
    Culture=neutral,  
    PublicKeyToken=c2c8b2b87f54180a  
    

    完成所有管道组件执行后,BizTalk SQL Server数据库适配器会将错误消息插入 ESB 管理门户数据库。