FRR 业务流程
A4SWIFT通过 FRR 业务流程实现 FRR。 业务流程确定 FIN 响应的相关令牌是否与原始消息的消息 ID 匹配。 它与发送端口(将消息发送到 SAA)执行的发送函数以及从 SAA 接收消息的接收位置执行的接收函数并行处理消息。
在最高级别,业务流程的实例将执行以下处理:
通过侦听 MessageBox 缓存绑定到 SAA 的原始出站消息的副本。
注意
当A4SWIFT将原始消息路由到 MessageBox 时,BizTalk Server创建业务流程的实例。
等待A4SWIFT将 FIN 响应从 SAA 发布到 MessageBox。
根据 FIN 响应的性质设置原始消息副本的升级属性。
将原始邮件的副本发布回 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 延迟超时。