メッセージの修復処理
既定では、BizTalk Serverは、MessageBox データベースの中断されたキューで失敗したメッセージを中断します。 このプロセスは、失敗したメッセージを成功したメッセージとは別に処理します。 ただし、この既定のメカニズムを使用すると、失敗したメッセージを取得して修復する機能は限られています。 A4SWIFTのメッセージの修復と新しい送信機能を使用すると、A4SWIFTユーザーはメッセージを修復して再送信できます。 その後、別のA4SWIFTユーザーが修復を確認し、3 番目のユーザーが修復を承認できます。
Note
このコンテキストでは、A4SWIFT ユーザーは部門の修復ワークフローでロールを実行するユーザーです。 このA4SWIFTユーザーは、プロファイル Web クライアントの [ユーザー] リンクで定義され、証明書に関連付けられます。 このA4SWIFT ユーザーは、Windows コンピューター管理ユーティリティの [A4SWIFT ユーザー] グループで定義されているように、Windows ユーザー アカウントと同じではありません。 A4SWIFT ユーザーとして機能するユーザーは、メッセージを送信するときにそのアカウントの証明書を使用できるように、Windows ユーザー アカウントを持っている必要があります。 ただし、そのユーザーは、修復者、検証者、承認者、作成者など、他のA4SWIFTユーザーとしても機能できます。 詳細については、「 メッセージの修復と新しい送信のための部門とロールの作成」を参照してください。
この修復ワークフローでは、A4SWIFTは失敗したメッセージを中断しません。 失敗したメッセージに対して追加の処理を実行し、成功したメッセージと同様にメッセージを MessageBox にドロップします。 修復オーケストレーションは、メッセージを A4SWIFT MRSR サイトにドロップします。このサイトでは、ユーザーは InfoPath フォームで自分の機能を実行できます。
メッセージの検証
メッセージの修復と新しい送信では、次の検証に失敗したメッセージが修復のために MRSR サイトに送信されます。
フラット ファイル パーサーによって実行される構造検証 (解析されていないメッセージ)
XML 検証リーダーによって実行されるデータ検証
ビジネス ルール エンジン (BRE) によって実行される SWIFT ネットワークと使用ルールの検証
A4SWIFTは、SWIFT メッセージと共に移動するエラー コレクション オブジェクトで検証中に発生したエラーを収集します。 修復プロセスには、エラー情報を XML にシリアル化し、エラー部分としてメッセージに添付することが含まれます。 この処理には、メッセージが検証に失敗したことを示す昇格されたプロパティ (A4SWIFT_Failed==True) と、各検証ステージのエラー数を報告する別の昇格されたプロパティでメッセージをマークすることも含まれます。 結果のマルチパート メッセージは、次の内容で構成されます。
失敗したメッセージを含む本文部分
エラー コレクション XML を含むエラー部分
エラー状態を示す昇格されたプロパティ
メッセージの修復
MRSRDepartmentPolicy 内の MRSRDepartmentRule ビジネス ルールは、失敗したメッセージを処理する部門を決定します。 メッセージ修復オーケストレーションは、部門の修復ロールに関連付けられている受信トレイにメッセージをルーティングすることで、修復ワークフローを開始します。 修復ロールを実行A4SWIFTユーザーは、InfoPath フォームでメッセージを開き、メッセージを修復してから署名して送信します。 オーケストレーションは、修復されたメッセージを修復、キーの更新、または承認の各ロールにルーティングし、ワークフローが正常に完了した後、メッセージを送信ポートにルーティングします。
検証に加えて、A4SWIFTはメッセージの署名をチェックして、次のことを確認します。
修復ワークフローのユーザーが同じ部門に属している
各ユーザーが 1 回だけ署名した
ユーザーに対応するロールのシーケンスは、その部門に対して定義されているワークフローのシーケンスと一致します
部門の詳細については、「 メッセージの修復と新しい送信のための部門とロールの作成」を参照してください。
A4SWIFTでは、解析されていないメッセージを修復することもできます。 ただし、A4SWIFTは、修復されていないメッセージに対して異なる処理を実行します。 詳細については、「 解析されていないメッセージの修復」を参照してください。