消息修复进程
默认情况下,BizTalk Server挂起 MessageBox 数据库的挂起队列中的失败消息。 此过程处理失败的消息与成功消息分开。 但是,使用此默认机制,检索和修复失败的消息的能力有限。 A4SWIFT的消息修复和新提交功能使A4SWIFT用户能够修复并重新提交消息。 然后,另一个A4SWIFT用户可以验证修复,第三个用户可以批准修复。
注意
在此上下文中,A4SWIFT用户是在部门修复工作流中执行角色的用户。 此A4SWIFT在配置文件 Web 客户端的“用户”链接中定义用户并将其与证书相关联。 此A4SWIFT用户与 Windows 计算机管理实用工具A4SWIFT用户组中定义的 Windows 用户帐户不同。 充当A4SWIFT用户的人员必须具有 Windows 用户帐户,以便他们可以在提交消息时使用该帐户的证书。 但是,该用户还可以充当其他A4SWIFT用户:维修者、验证者、审批者或创建者。 有关详细信息,请参阅 为消息修复和新提交创建部门和角色。
使用此修复工作流,A4SWIFT不会挂起失败的消息。 它会对失败的消息执行其他处理,然后将消息放入 MessageBox,就像处理成功消息一样。 修复业务流程将消息放入A4SWIFT MRSR 站点,用户可以在其中以 InfoPath 表单执行其功能。
消息验证
消息修复和新提交会将任何未通过以下验证的消息发送到 MRSR 站点进行修复:
平面文件分析程序执行的结构验证 (未分析的消息)
由 XML 验证读取器执行的数据验证
业务规则引擎 (BRE) 执行的 SWIFT 网络和使用规则验证
A4SWIFT收集与 SWIFT 消息一起传输的错误集合对象中的验证期间遇到的任何错误。 修复过程包括将错误信息序列化为 XML,并将其作为错误部分附加到消息。 此处理还包括使用升级属性标记消息,该属性指示消息 (A4SWIFT_Failed==True) 验证失败,另一个升级属性报告每个验证阶段的错误计数。 生成的多部分消息包括以下内容:
包含失败消息的正文部分
包含错误集合 XML 的错误部分
指示失败状态的升级属性
消息修复
MRSRDepartmentPolicy 中的 MRSRDepartmentRule 业务规则确定哪个部门将处理失败的消息。 消息修复业务流程通过将消息路由到与部门中的修复角色关联的收件箱来启动修复工作流。 执行修复角色的A4SWIFT用户打开 InfoPath 表单中的邮件,修复邮件,然后对邮件进行签名并提交。 业务流程将修复的消息路由到每个修复、重新生成密钥验证或审批角色,并在工作流成功完成后,将消息路由到发送端口。
除了验证之外,A4SWIFT还会检查消息上的签名以确定以下内容:
修复工作流中的用户属于同一部门
每个用户仅签名一次
与用户对应的角色序列与为该部门定义的工作流中的序列匹配
有关部门的详细信息,请参阅 为消息修复和新提交创建部门和角色。
A4SWIFT还可用于修复未解析的消息。 但是,A4SWIFT对已修复的未解析消息执行不同的处理。 有关详细信息,请参阅 修复未分析的消息。