次の方法で共有


メッセージ検証エンジン

BizTalk Accelerator for SWIFT (A4SWIFT) によって提供される最も重要な機能の 1 つは、SWIFT ネットワーク宛てのバックエンド システムから受信した SWIFT メッセージ、または SWIFT ネットワーク (取引先から送信) から受信した SWIFT メッセージを完全に検証する機能です。 送信 SWIFT メッセージを検証すると、メッセージが SWIFT 標準に準拠していることと、SWIFT ネットワークによってメッセージが拒否されないことが保証されます。

受信 SWIFT メッセージを検証すると、他の金融機関から受信したメッセージが、リレーションシップに固有の特定の契約 (ビジネス ルール) に従うことが保証されます。 どちらのシナリオでも、メッセージをコミットする前にエラーを検証してトラップする機能は、トランザクション コストと総保有コスト (TCO) を削減するのに役立ちます。

次の一覧では、A4SWIFT検証エンジンを構成する 4 つの部分について説明します。

  • フラット ファイル パーサーによって実行される構造検証

  • XML 検証リーダーによって実行されるデータ検証

  • ビジネス ルール エンジン (BRE) によって実行される SWIFT ネットワークと使用状況ルールの検証

  • メッセージ マーキングと "ベスト エフォート" エラー収集

構造検証 (解析)

A4SWIFTでは、SWIFT 標準に従って、SWIFT メッセージの種類ごとに定義されている XSD スキーマに対して SWIFT フラット ファイル メッセージを解析します。 フラット ファイルを XML に解析すると、フラット ファイルが構造的に正しいことが保証されます。 解析では、読み取り、操作、または他の形式やメッセージ型への変換が容易な XML も生成されます。 データの有効性についてスキーマに対して XML を検証し、より複雑な評価のためにビジネス ルール エンジン (BRE) を使用することもできます。

SWIFT 逆アセンブラーは、BizTalk フラット ファイル パーサーを呼び出して、SWIFT 逆アセンブラーによって呼び出された SWIFT フラット ファイル メッセージを解析します。 SWIFT 逆アセンブラーは、解析中に発生したエラーの詳細をエラー コレクションに記録し、最初のパスで可能な限り多くの構造エラーを収集するために、常にデータの解析を続行しようとします。 ただし、ほとんどの解析エラーは致命的であり、最初のエラーでメッセージ処理を停止します。

構造検証の詳細については、「 スキーマの操作」を参照してください。

データ検証 (XML 検証)

定義された XSD スキーマに準拠した適切な形式の XML と構造検証を渡す SWIFT メッセージを定義できます。 A4SWIFTは、解析段階で構造的に有効な SWIFT メッセージの XML を生成します。 A4SWIFT、対応する XSD スキーマで定義されている制約に対するデータの正確性について、この XML を検証できます。

これらの制約には、SWIFT 標準に従って定義されたデータ型指定、長さ、および値範囲が含まれます。 SWIFT 逆アセンブラーは、データ検証を実行するために XML 検証リーダーを呼び出します。

SWIFT 逆アセンブラーは、XML 検証中に発生したエラーの詳細をエラー コレクションに記録し、残りのデータの検証を続行して、最初のパスで可能な限り多くの XML 検証エラーを収集します。 (解析とは異なり、XML 検証の継続が保証されます)。

データ検証の詳細については、「 スキーマの操作」を参照してください。

SWIFT ネットワークと使用規則の検証 (BRE 検証)

A4SWIFTは、ビジネス ルール エンジン (BRE) ポリシーに対するビジネス レベルの正確性について、構造的に有効な SWIFT メッセージの XML を検証します。 これらのポリシーには、SWIFT ネットワークと使用規則の適用、および SWIFT 標準に従って定義されたその他の複雑なクロスフィールド ルールが含まれます。 SWIFT 逆アセンブラーは、BRE を呼び出してビジネス レベルの検証を実行します。

SWIFT 逆アセンブラーは、BRE 検証中に発生したエラーの詳細をエラー コレクションに記録し、残りのデータの検証を続行して、最初のパスで可能な限り多くの BRE 検証エラーを収集します。 (XML 検証と同様に、BRE 検証の継続が保証されます)。

SWIFT ネットワークと使用規則の検証の詳細については、「 BRE ポリシーの使用」を参照してください。

検証エラーとメッセージ マーキング

A4SWIFTは、メッセージ検証の各段階 (構造解析、XML 検証、BRE 検証) を通じて検証エラーと詳細を収集します。 A4SWIFTは、"ベスト エフォート" ヒューリスティックを使用してこれらのエラーを収集し、メッセージに関するエラー情報をできるだけ多く収集します。 この機能を使用すると、失敗したメッセージで、送信、検証、失敗、修正、再送信を複数回繰り返すのではなく、すべてのエラーを 1 回のパスでキャッチして報告できます。

エラー コレクション内の検証ステージで少なくとも 1 つのエラーが発生したメッセージは無効と見なされ、失敗します。 A4SWIFTは、これらのメッセージを MessageBox データベースに発行しますが、メッセージが検証に失敗したことを示し、各検証ステージのエラー数を報告するために、昇格されたプロパティでマークされます。

昇格されたプロパティに加えて、A4SWIFTはエラー コレクションを XML にシリアル化し、コレクションをマルチパート メッセージの "エラー 部分" として添付します。 最後のメッセージは、本文部分の失敗したメッセージとエラー 部分のエラー コレクション XML で構成され、エラー状態を示すA4SWIFT昇格されたプロパティで拡張されます。 SWIFT 逆アセンブラーは、このマルチパート メッセージを MessageBox データベースに発行します。

BizTalk 送信ポートまたはオーケストレーションは、昇格された特殊なプロパティをサブスクライブすることで、MessageBox データベースから失敗したメッセージA4SWIFT取得できます。 サブスクリプションを作成して、失敗したすべてのメッセージを取得することも、特定の数のエラーを含むメッセージのみを特定の検証ステージから取得することもできます。

失敗したメッセージを取得した後は、レポート アプリケーション、修復アプリケーションまたはプロセス、またはエラー リポジトリに送信するか、破棄できます。

失敗したメッセージをサブスクライブする (およびサブスクリプションのエラーの種類を区別する) 機能と、失敗した各メッセージに添付された情報豊富なエラー 収集 XML は、メッセージの修復や、A4SWIFT セットアップによってインストールされた新しい送信機能など、単純なエラー報告アプリケーションを開発するための強力なフレームワークを形成します。

検証エラーとメッセージ マーキングの詳細については、「 失敗したメッセージ サブスクリプションの操作」を参照してください。

参照

BizTalk Accelerator for SWIFT ランタイム