FRR NAK ハンドラー サンプルのしくみ
サンプル FRR NAK カスタム ハンドラーは、FIN 応答調整 (FRR) オーケストレーションとメッセージ修復オーケストレーションの間の仲介役として機能します。 FRR オーケストレーションは、SWIFT ネットワークがメッセージを受信しようとしたときに発生したエラーを識別します。 FRR オーケストレーションの出力は、エラー オブジェクトを含む 1 部構成のメッセージです。 FRR NAK カスタム ハンドラーは、そのメッセージを 2 部構成のメッセージに変換し、発生したエラーを示すエラー部分を指定して、メッセージ修復オーケストレーションによってメッセージを取得できるようにします。 メッセージ修復オーケストレーションによって InfoPath フォームでメッセージが開きます。これにより、エラーの内容を確認し、それに応じてメッセージを修復し、BizTalk Serverが SAA に再送信できるように再送信できます。
次の手順は、FRR NAK カスタム ハンドラーが SWIFT ネットワークが正常に受信できなかったというメッセージを処理するときに発生します。
FRR オーケストレーションが失敗したメッセージを MTS21_FIN_ACKNAK NAK メッセージに関連付けた後、RepairSWIFTRejectedMessage オーケストレーション (カスタム ハンドラー) は MessageBox から元のメッセージを取得します。 これは、A4SWIFT_FRRFailed==True と A4SWIFT_SendingServiceType="A4SWIFT_FrrService" でフィルター処理されるためです。
カスタム ハンドラーは、FRR が元のメッセージに関連付けたMTS21_FIN_ACKNAKの NAK メッセージを取得しません。 代わりに、エラー コレクション オブジェクトを作成し、A4SWIFT_FRRFailedReason プロパティが何であったかを示す BRE 検証エラーを設定し、元のメッセージに追加します。 メッセージ修復オーケストレーションでは、この 2 部構成のメッセージを処理できます。
カスタム ハンドラーは、メッセージ修復オーケストレーションによってメッセージが取得されるように、次のプロパティを昇格させます:A4SWIFT_Failed==True、A4SWIFT_SwiftBound==True、および BTS。Operation="A4SWIFT_DASMMarkedAsFailed" パーツ数プロパティを 2 に設定し、適切なエラー プロパティを設定します。
昇格されたプロパティの結果として、メッセージ修復オーケストレーションによってメッセージが取得され、RepairSWIFTRejectedMessage オーケストレーションが終了します。