消息修复和新提交服务处理

MrsrRepair 业务流程处理所有消息修复和新提交操作,包括处理以下内容:

  • 需要修复的消息

  • 未分析的消息

  • 在 MRSR 站点中创建的新消息

处理需要修复的消息

如果需要修复消息,则会向业务流程发出警报,指出传入消息来自反汇编程序。 仅当角色功能设置为“创建”或“修复”时,它才会处理来自反汇编程序的消息。 MrsrRepair 业务流程从 MessageBox 订阅具有以下属性的消息:

A4SWIFT_Failed==true AND  
BTS_Operation=="A4SWIFT_DasmMarkedAsFailed" AND  
A4SWIFT_SwiftBound==true  

用于消息修复和新提交的 MrsrRepair 业务流程的入站端口绑定到 Sts.Outbox.Location 接收位置。 默认情况下,A4SWIFT安装程序会安装此接收位置。 当用户将消息提交回 MRSR 站点时,此接收位置会选取消息并将其路由到 MrsrRepair 业务流程。

下表列出了有效的 InfoPath 表单:

InfoPath Forms          
MT010 MT011 MT012 MT015 MT019 MT020
MT021 MT022 MT023 MT028 MT029 MT030
MT031 MT032 MT035 MT036 MT037 MT039
MT041 MT042 MT043 MT044 MT045 MT046
MT047 MT048 MT049 MT050 MT051 MT052
MT055 MT056 MT057 MT059 MT061 MT062
MT063 MT064 MT065 MT066 MT067 MT068
MT069 MT072 MT073 MT074 MT075 MT076
MT077 MT081 MT082 MT083 MT085 MT087
MT090 MT092 MT094 MT102 MT102PLUS MT103
MT103Plus MT104 MT105 MT106 MT107 MT110
MT111 MT112 MT121 MT190 MT191 MT192
MT195 MT196 MT198 MT199 MT200 MT201
MT202 MT203 MT204 MT205 MT206 MT207
MT210 MT256 MT290 MT291 MT292 MT295
MT296 MT298 MT299 MT300 MT303 MT304
MT305 MT306 MT307 MT308 MT320 MT321
MT330 MT340 MT341 MT350 MT360 MT361
MT362 MT364 MT365 MT380 MT381 MT390
MT391 MT392 MT395 MT396 MT398 MT399
MT400 MT405 MT410 MT412 MT416 MT420
MT422 MT430 MT450 MT4555 MT456 MT490
MT491 MT492 MT495 MT496 MT498 MT499
MT500 MT501 MT502 MT503 MT504 MT505
MT506 MT507 MT508 MT509 MT510 MT513
MT514 MT515 MT516 MT517 MT518 MT519
MT524 MT526 MT527 MT528 MT529 MT535
MT536 MT537 MT538 MT540 MT541 MT542
MT543 MT544 MT545 MT546 MT547 MT548
MT549 MT558 MT559 MT564 MT565 MT566
MT567 MT568 MT569 MT574_IRSLST MT574_W8BENO MT575
MT576 MT577 MT578 MT579 MT581 MT582
MT584 MT586 MT587 MT588 MT589 MT590
MT591 MT592 MT595 MT596 MT598 MT599
MT600 MT601 MT604 MT605 MT606 MT607
MT643 MT644 MT645 MT646 MT649 MT690
MT691 MT692 MT695 MT696 MT698 MT699
MT700 MT701 MT705 MT707 MT710 MT711
MT720 MT721 MT730 MT732 MT734 MT740
MT742 MT747 MT750 MT752 MT754 MT756
MT760 MT767 MT768 MT769 MT790 MT791
MT792 MT795 MT796 MT798 MT799
MT800 MT801 MT802 MT810 MT812 MT813
MT820 MT821 MT822 MT823 MT824 MT890
MT891 MT892 MT895 MT896 MT898 MT899
MT900 MT910 MT920 MT935 MT940 MT941
MT942 MT950 MT960 MT961 MT962 MT963
MT964 MT965 MT966 MT967 MT970 MT971
MT972 MT973 MT985 Mt986 MT990 MT991
MT992 MT995 MT996 MT998 MT999

处理未分析的消息

如果 MrsrRepair 业务流程确定无法分析邮件,则会设置相应的标志,然后将该消息发送到 MRSR 站点收件箱,以 InfoPath 表单修复未解析的邮件。 当业务流程在修复后收到消息时,它会设置 BTS。操作属性为“A4SWIFT_MRSRCompleted”,A4SWIFT_Failed属性为 False,然后将消息路由到 MessageBox。 这些属性可确保修复的未解析消息不会再次进入消息修复过程。

未解析的修复形式称为 “未解析的消息”。

处理在 MRSR 中创建的新消息

如果 MrsrRepair 业务流程收到的消息是在 MRSR 站点中创建的,则会提醒业务流程传入消息来自 InfoPath (而不是反汇编程序) ,并且消息已签名。

常见操作

MrsrRepair 业务流程对所有消息执行一系列常见操作,无论它们是需要修复、无法分析还是新消息。 业务流程执行一个循环,该循环对工作流的每个步骤执行常见操作,包括重新生成密钥验证、创建、修复和批准。 无论部门和角色是什么,都使用此业务流程。

这些常见步骤包括:

  1. 将邮件放在信封窗体中。

  2. 将消息发送到 MRSR 站点。

  3. 在用户通过 Sts.Outbox.Location 接收位置从 MRSR 站点执行操作) 后,接收消息 (。 如果发生超时,业务流程将处理超时。如果用户在修复、验证或批准邮件时发生超时,A4SWIFT将邮件返回到“修复”收件箱,将工作流重置为“修复”阶段。

    注意

    用于消息修复和新提交的 MrsrRepair 业务流程的入站端口绑定到 Sts.Outbox.Location 接收位置。 此接收位置必须在 BizTalk 主机中运行,该主机绑定到安装了 MRSR 站点的服务器。 该主机通常是 BizTalkServerApplication,但它可以是不同的主机。 如果它是其他主机,则必须验证该主机绑定到的服务器是否安装了 MRSR 站点。

  4. 验证用户输入的签名是否适用于角色,并存储该签名以验证角色限制。

  5. 如果上一步存储了邮件的内容,请将从 MRSR 站点接收的内容与存储的消息进行比较。 如果没有匹配项,则业务流程使消息失败。

  6. 如果用户拒绝了更改,则消息失败。

  7. 如果用户接受了更改,则对消息执行 XSD 和 BRE 验证。

  8. 如果适用,请转到下一步。

自定义修复业务流程

可以通过添加预处理或后处理功能来自定义 MrsrRepair 业务流程。 例如,可以将业务流程添加到预处理步骤,或在现有发送形状之前添加业务流程形状以提升属性。 但是,无法创建或更改与消息修复和新提交关联的协议或配置文件,因为 MrsrRepair 业务流程无法识别它们。 除了修复者、创建者、验证者或审批者之外,不能添加新的角色定义。 也不能更改业务流程的结构或向核心添加功能。

业务规则策略

对于修复过程,修复业务流程会调用 BizTalk 业务规则引擎 (BRE) 来加载消息类型的主策略,例如,MT103_Master_Policy.xml。 业务流程向 BRE 传递消息类型和正文。 消息主策略包含与该消息类型相关的所有其他策略的列表。 BRE 加载消息类型的所有策略。 这些策略包括特定于邮件类型的SWIFT_Reference_Policy、SWIFT_PartyIdentifier_Policy、网络规则策略和验证策略。 BRE 执行主策略中列出的所有策略,而不考虑错误,并返回所有错误。