共用方式為


FRR 協調流程

A4SWIFT透過 FRR 協調流程實作 FRR。 協調流程會判斷 FIN 回應的相互關聯權杖是否符合原始訊息的訊息識別碼。 它會與傳送埠所執行的傳送函式平行處理訊息,並將訊息傳送至 SAA,以及接收來自 SAA 之接收位置所執行的接收函式。

在最高層級,協調流程的實例會執行下列處理:

  1. 藉由接聽 MessageBox,快取系結至 SAA 的原始輸出訊息複本。

    注意

    BizTalk Server A4SWIFT將原始訊息路由傳送至 MessageBox 時,會建立協調流程的實例。

  2. 等候A4SWIFT將 FIN 回應從 SAA 發佈至 MessageBox。

  3. 根據 FIN 回應的本質,設定原始訊息複本的升級屬性。

  4. 將原始訊息的複本發佈回 MessageBox。 然後,自訂處理常式可以視需要訂閱、擷取及處理訊息。

輸出訊息的訂用帳戶

FRR 協調流程會直接系結至 MessageBox。 FRR 協調流程會訂閱所有未包含驗證錯誤的 SWIFT 網路所系結的輸出訊息,方法是訂閱下列屬性:

  • A4SWIFT_Failed==False (由 SWIFT 反組譯程式驗證程式所設定)

  • A4SWIFT_Swiftbound==True (由 SWIFT 反組譯程式設定程式所設定)

訊息/回應相互關聯

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 欄位)

    • TransportError 從 MQ 系列 PAN/NAN 訊息 ()

    • 從 MT015 (DNK) 訊息) 延遲NAK (

    • 從 MT019 (中止通知) 訊息) 中止 (

  • 如果A4SWIFT未在逾時期間內收到回應,A4SWIFT_FRRFailedReason至 TimedOut。 如需 FRR 延遲逾時的詳細資訊,請參閱下方的一節或 設定 FRR 延遲逾時

  • A4SWIFT_SendingServiceType A4SWIFT_FrrService

  • Bts。對應至訊息回應類型的值作業。 如需詳細資訊,請參閱 建立用於傳送至自訂處理常式的 FRR 傳送埠

    • MQ 系列 PAN/NAN 訊息的A4SWIFT_FrrSendTransport (MQ 系列傳輸層級 ACK/NAK)

    • A4SWIFT_FRRSEND010NDW MT010 訊息 (非傳遞警告)

    • A4SWIFT_FrrSend011Delivered MT011 訊息 (傳遞通知)

    • A4SWIFT_FrrSend012SenderACK MT012 訊息 (寄件者通知)

    • A4SWIFT_FRRSEND015DNK MT015 訊息 (DNK 或延遲 NAK)

    • A4SWIFT_FRRSEND019ABORT MT019 訊息 (中止通知)

    • LT) 所傳送之 FIN 訊息 (ACK 的MTS21_FIN_ACKNAK通知訊息A4SWIFT_FrrSendS21ACK

    • A4SWIFT_FRRSENDS21NAK LT) 所傳送 FIN 訊息的MTS21_FIN_ACKNAK負通知訊息 (NAK

直接繫結

協調流程的接收輸入是由協調流程對 MessageBox 所做的訂用帳戶所定義。 協調流程所升級的內容屬性和值會定義協調流程發佈至 MessageBox 之訊息的傳送輸出。 由於此直接系結至 MessageBox,協調流程會與下列專案分離:

  • 從後端應用程式接收輸出訊息以路由傳送至 SAA 的實體接收位置

  • 將輸出 FIN 訊息從 A4SWIFT 傳送至 SWIFT 聯盟存取 (SAA) 的傳送埠

  • 從 SAA 接收傳入 FIN 回應訊息的接收位置

  • SAA 儲存 FIN 回應的實體 MQSeries 佇列

對帳 Time-Out

當BizTalk Server建立 FRR 協調流程的新實例時,協調流程會開始等候 FIN 回應。 在執行時間,您必須將協調流程設定為在某個持續時間後逾時,使其不會無限期等候回應。 逾時期間到期時,FRR 協調流程會升級 A4SWIFT_FRRFailedReason 屬性,並將其設定為 TimedOut。 然後,它會將訊息發佈至 MessageBox,並終止。 如果您逾時,相互關聯識別碼就會消失。

您可以建立自訂處理常式來處理 (原始輸出訊息複本) 逾時訊息。 A4SWIFT會使用協調流程中的接聽圖形來完成這項作業。 如需詳細資訊,請參閱 設定 FRR 延遲逾時