FRR 业务流程

A4SWIFT通过 FRR 业务流程实现 FRR。 业务流程确定 FIN 响应的相关令牌是否与原始消息的消息 ID 匹配。 它与发送端口(将消息发送到 SAA)执行的发送函数以及从 SAA 接收消息的接收位置执行的接收函数并行处理消息。

在最高级别,业务流程的实例将执行以下处理:

  1. 通过侦听 MessageBox 缓存绑定到 SAA 的原始出站消息的副本。

    注意

    当A4SWIFT将原始消息路由到 MessageBox 时,BizTalk Server创建业务流程的实例。

  2. 等待A4SWIFT将 FIN 响应从 SAA 发布到 MessageBox。

  3. 根据 FIN 响应的性质设置原始消息副本的升级属性。

  4. 将原始邮件的副本发布回 MessageBox。 然后,自定义处理程序可以根据需要订阅、检索和处理消息。

订阅出站消息

FRR 业务流程直接绑定到 MessageBox。 FRR 业务流程通过订阅以下属性,订阅所有绑定到 SWIFT 网络、不包含验证错误的出站消息:

  • A4SWIFT_Failed==false (,由 SWIFT 反汇编程序验证过程)

  • A4SWIFT_Swiftbound==由 SWIFT 反汇编程序配置过程) 设置的 True (

消息/响应关联

BizTalk Server通过比较以下属性将原始出站 FIN 消息与入站 FIN 响应消息相关联:

  • FIN 响应的MQMD_CorrelID上下文属性

  • 出站 MTXYY 消息的 A4SWIFT_FRRCorrelationToken 属性。 此属性由接收管道的参与方解析阶段提升。

    这些属性的值必须相同。 为 SWIFT 绑定的消息的发送管道的编码器阶段将传出消息的 MQMD_MsgID 属性设置为 A4SWIFT_FRRCorrelationToken 属性的值。 SAA 将响应消息的 MQMD_CorrelID 属性设置为 MQMD_MsgID 的值。

升级属性的设置

收到 FIN 响应并将其关联到原始消息的副本后,FRR 业务流程根据响应的性质设置原始消息副本的以下提升属性:

  • 如果响应为 ACK,则A4SWIFT_FRRFailed为 True;如果响应为 NAK,则为 False

  • 如果响应为 NAK,A4SWIFT_FRRFailedReason为以下值之一:

    • <ErrorCode> 从MTS21_FIN_ACKNAK否定确认消息的 405 字段中 ()

    • MQ 系列 PAN/NAN 消息) 中的 TransportError (

    • MT015 (DNK) 消息) 的延迟NAK (

    • MT019 (中止通知) 消息) 的 AbortReceived (

  • 如果A4SWIFT在超时期限内未收到响应,则A4SWIFT_FRRFailedReason TimedOut。 有关 FRR 延迟超时的详细信息,请参阅下面的“对帐超时”部分或 设置 FRR 延迟超时

  • A4SWIFT_SendingServiceType A4SWIFT_FrrService

  • Bts。对对应于消息响应类型的值的操作。 有关详细信息,请参阅 创建用于发送到自定义处理程序的 FRR 发送端口

    • MQ 系列 PAN/NAN 消息 (MQ 系列传输级别 ACK/NAK) 的A4SWIFT_FrrSendTransport

    • MT010 消息 (未送达警告A4SWIFT_FrrSend010NDW)

    • MT011 消息 (传递通知) 的A4SWIFT_FrrSend011Delivered

    • MT012 消息 (发件人通知) A4SWIFT_FrrSend012SenderACK

    • MT015 消息 (DNK 或延迟 NAK) 的A4SWIFT_FrrSend015DNK

    • MT019 消息 (中止通知) A4SWIFT_FrrSend019Abort

    • MTS21_FIN_ACKNAK确认消息 (LT) 发送的 FIN 消息的确认A4SWIFT_FrrSendS21ACK

    • MTS21_FIN_ACKNAK否定确认消息 (LT) 发送的 FIN 消息的 NAK 的A4SWIFT_FrrSendS21NAK

直接绑定

业务流程的接收输入由业务流程对 MessageBox 进行的订阅定义。 业务流程提升的上下文属性和值定义业务流程发布到 MessageBox 的消息的发送输出。 由于这种直接绑定到 MessageBox,业务流程与以下内容分离:

  • 从后端应用程序接收出站消息以路由到 SAA 的物理接收位置

  • 发送端口,用于将出站 FIN 消息从 A4SWIFT 发送到 SWIFT Alliance Access (SAA)

  • 接收来自 SAA 的传入 FIN 响应消息的接收位置

  • SAA 存储 FIN 响应的物理 MQSeries 队列

对帐 Time-Out

当 BizTalk Server 创建 FRR 业务流程的新实例时,业务流程将开始等待 FIN 响应。 在运行时,必须将业务流程配置为在一段时间后超时,以便它不会无限期地等待响应。 超时持续时间到期后,FRR 业务流程将提升 A4SWIFT_FRRFailedReason 属性并将其设置为 TimedOut。 然后,它将消息发布到 MessageBox 并终止。 如果超时,则关联 ID 将消失。

可以创建自定义处理程序来处理超时消息 (原始出站消息) 的副本。 A4SWIFT通过在业务流程中使用侦听形状来实现此目的。 有关详细信息,请参阅 设置 FRR 延迟超时