修复未分析的消息
如果A4SWIFT反汇编程序无法分析消息,则可以修复该消息。 可以在 A4SWIFT MRSR 站点内的 InfoPath 表单中执行此操作。 但是,A4SWIFT处理该消息的方式不同于 XML 或 BRE 验证失败的已修复消息。
如果消息或批处理分析失败,A4SWIFT将其标记为 A4SWIFT_Failed = True,分析错误计数大于 0。 消息正文保持为平面文件形式,并括在 XML 包装器中。 如果修复规则设置为允许处理分析失败,则会将邮件发送到“未分析”收件箱,以便使用“未分析”窗体进行处理。
所有用户和所有部门只有一个未分析收件箱,因为A4SWIFT可能无权访问除原始接收位置以外的任何有关邮件的数据。 因此,若要修复未解析的消息,用户必须具有修复功能,并且必须与所有部门的修复角色相关联。
A4SWIFT在 Unparsed InfoPath 表单的文本区域中显示未分析的消息。 若要更正分析问题,可以根据需要输入或删除字符。 提交消息后,将从 XML 包装器中提取消息,并通过 SWIFT 接收管道重新提交。 如果分析成功,A4SWIFT处理消息,就像处理任何其他消息一样。
A4SWIFT不会处理通过完整修复工作流修复的未解析消息。 A4SWIFT发送它未经验证和未经批准。 对修复的未解析消息进行签名并提交时,A4SWIFT不会调用 BRE 验证或检查部门,而是将消息直接发送到发送管道。 如果该管道无法处理消息,A4SWIFT将其发送到修复过程。
此过程使你能够更正来自另一个系统的格式不正确的消息。 但是,在更正分析问题时应谨慎。 当A4SWIFT处理未分析的消息时,它不会验证该消息。 未解析的修复未定义为角色,因此任何人都可以执行此过程。 由于未解析的邮件不属于任何部门,因此访问它们时提供的唯一安全性是未分析收件箱上的 ACL。 A4SWIFT也不会将未分析消息的原始接收位置保留为消息的上下文属性。
可以编写要对修复的未解析消息执行的自定义验证。 还可以编写订阅,将修复的未解析消息发送到原始文件管道。
要使修复机制能够处理未分析的消息,需要将 EnvelopeUnparsedMessage.xsd 架构添加到包含消息架构的程序集。 有关详细信息,请参阅 部署A4SWIFT架构。