FRR オーケストレーション
A4SWIFTは、FRR オーケストレーションを介して FRR を実装します。 オーケストレーションは、FIN 応答の関連付けトークンが元のメッセージのメッセージ ID と一致するかどうかを決定します。 メッセージは、メッセージを SAA に送信する送信ポートによって実行される送信関数と、SAA からメッセージを受信する受信場所によって実行される受信関数と並行して処理されます。
最上位レベルでは、オーケストレーションのインスタンスは次の処理を行います。
MessageBox でリッスンすることで、SAA にバインドされた元の送信メッセージのコピーをキャッシュします。
Note
BizTalk Serverは、元のメッセージを MessageBox にルーティングA4SWIFTオーケストレーションのインスタンスを作成します。
A4SWIFTが SAA から MessageBox に FIN 応答を発行するまで待機します。
FIN 応答の性質に応じて、元のメッセージのコピーの昇格されたプロパティを設定します。
元のメッセージのコピーを 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 の場合は True、応答が NAK の場合は False にA4SWIFT_FRRFailed
応答が NAK の場合は、次のいずれかの値にA4SWIFT_FRRFailedReasonします。
<ErrorCode> (MTS21_FIN_ACKNAKの否定確認メッセージの 405 フィールドから)
TransportError (MQ シリーズ PAN/NAN メッセージから)
遅延NAK (MT015 (DNK) メッセージから)
AbortReceived (MT019 (中止通知) メッセージから)
タイムアウト期間内にA4SWIFTが応答を受信しなかった場合は、TimedOut にA4SWIFT_FRRFailedReasonします。 FRR 遅延タイムアウトの詳細については、以下の「調整タイムアウト」セクションまたは FRR 遅延タイムアウトの設定に関するセクションを参照してください。
A4SWIFT_FrrServiceにA4SWIFT_SendingServiceTypeする
Bts。メッセージ応答の種類に対応する値に対する操作。 詳細については、「 カスタム ハンドラーに送信するための FRR 送信ポートの作成」を参照してください。
MQ シリーズ PAN/NAN メッセージのA4SWIFT_FrrSendTransport (MQ シリーズのトランスポート・レベル ACK/NAK)
MT010 メッセージのA4SWIFT_FrrSend010NDW (配信不能警告)
MT011 メッセージのA4SWIFT_FrrSend011Delivered (配信通知)
MT012 メッセージのA4SWIFT_FrrSend012SenderACK (送信者通知)
MT015 メッセージ (DNK、または遅延 NAK) のA4SWIFT_FrrSend015DNK
MT019 メッセージのA4SWIFT_FrrSend019Abort (中止通知)
MTS21_FIN_ACKNAK受信確認メッセージのA4SWIFT_FrrSendS21ACK (LT によって送信された FIN メッセージの ACK)
MTS21_FIN_ACKNAKの否定受信確認メッセージのA4SWIFT_FrrSendS21NAK (LT によって送信された FIN メッセージの NAK)
直接バインド
オーケストレーションの受信入力は、オーケストレーションが MessageBox に対して行うサブスクリプションによって定義されます。 オーケストレーションによって昇格されるコンテキスト プロパティと値は、オーケストレーションが MessageBox に発行するメッセージの送信出力を定義します。 この MessageBox への直接バインドにより、オーケストレーションは次とは切り離されます。
SAA へのルーティングのためにバックエンド アプリケーションから送信メッセージを受信する物理的な受信場所
A4SWIFTから SWIFT Alliance Access (SAA) に送信 FIN メッセージを送信する送信ポート
SAA からの受信 FIN 応答メッセージを受信する受信場所
FIN 応答が SAA によって寄託される物理 MQSeries キュー
調整 Time-Out
BizTalk Serverが FRR オーケストレーションの新しいインスタンスを作成すると、オーケストレーションは FIN 応答の待機を開始します。 実行時に、応答を無期限に待機しないように、しばらくしてからタイムアウトするようにオーケストレーションを構成する必要があります。 タイムアウト期間が経過すると、FRR オーケストレーションによって A4SWIFT_FRRFailedReason プロパティが昇格され、TimedOut に設定されます。 次に、メッセージを MessageBox に発行し、終了します。 タイムアウトすると、関連付け ID が失われる。
タイムアウトメッセージ (元の送信メッセージのコピー) を処理するカスタム ハンドラーを作成できます。 A4SWIFTは、オーケストレーションで Listen 図形を使用してこれを実現します。 詳細については、「 FRR 遅延タイムアウトの設定」を参照してください。