SWIFT ヘッダーおよびトレーラー スキーマ
Microsoft BizTalk Accelerator for SWIFT (A4SWIFT) には、SWIFT ヘッダースキーマとトレーラー スキーマが用意されています。 A4SWIFTは、これらをさまざまな FIN メッセージのインターチェンジ スキーマに既に組み込みました。 カスタム SWIFT FIN 形式のメッセージ型 (N98 メッセージなど) を作成する場合は、ヘッダー スキーマとトレーラー スキーマを独自の形式に組み込むことができます。
SWIFT ヘッダー スキーマ (SWIFT Header.xsd) には、次の形式が含まれています。
基本ヘッダー
アプリケーション ヘッダー (入力または出力の選択)
ユーザー ヘッダー
テキスト ブロックの開始区切り記号
基本ヘッダーには、メッセージのソースに関する情報が含まれています。 アプリケーション ヘッダーには、メッセージの種類とメッセージの送信先に関する情報が含まれています。 受信パイプラインの SWIFT 逆アセンブラーによるメッセージの種類の解決は、適切なアプリケーション ヘッダーのフィールドの内容に基づいています。 ユーザー ヘッダーは省略可能で、特別な処理命令が含まれています。
Note
いくつかのメッセージ型には、ユーザー ヘッダーのフィールド 119 の内容に基づく可変形式があります。 これらは、A4SWIFTの "デュアル メッセージの種類" です。 A4SWIFT逆アセンブラーは、アプリケーション ヘッダーのメッセージの種類をフィールド 119 の内容と組み合わせて使用して、メッセージ インスタンスに適したスキーマを選択します。
FIN サービスの SWIFT ドキュメントの一部である SWIFT ユーザー ハンドブックでは、これらのヘッダーがすべて説明されています。
テキスト ブロックの先頭は "{4:" で、その後にキャリッジ リターンと改行が続きます。 テキスト ブロックの先頭が必要です。
SWIFT ブロック 4 のみを含むインターチェンジの処理 (解析と検証) に対応するために、インターチェンジ スキーマ内のすべてのヘッダー ブロックとトレーラー ブロックはオプションとしてマークされます。 これは SWIFT FIN 仕様とは異なっており、基本的なヘッダー ブロック 1 とアプリケーション ヘッダー ブロック 2 が必須です。 これにより、インターチェンジ スキーマを使用して、ヘッダーを必要としないメッセージを処理できます。 たとえば、FileAct を介して受信したメッセージを受け入れる場合、バッチ ヘッダーには、メッセージのソースと共通のメッセージの種類が含まれる場合があります。
RunTime スキーマ DLL には、ヘッダー スキーマも含まれています。 A4SWIFTインストールでは、RunTime スキーマ DLL と A4SWIFT プロパティ スキーマが展開されます。 独自のヘッダーを処理に使用する必要がある場合は、カスタム ヘッダー スキーマを定義して展開し、メッセージ解決に適したプロパティを昇格させることができます。 これを行う場合は、SWIFT 逆アセンブラー (DASM) に新しいヘッダーを指定する必要もあります。 カスタム ヘッダー スキーマは、インストールが RunTime スキーマ DLL に展開A4SWIFT SWIFT ヘッダー スキーマと同じドキュメントの種類を持つべきではありません。 スキーマ名前空間、ルート ノード名、またはその両方を必ず変更してください。
SWIFT トレーラー スキーマ (SWIFT Trailer.xsd) には、次の形式が含まれています。
テキスト ブロックの終了区切り記号
ユーザー トレーラー (ユーザーとシステム情報)
システム トレーラー
テキスト ブロックの終了区切り記号は "-}" です。 トレーラー ブロックは "{5:" で始まります。 トレーラー ブロックの内容には、ユーザー情報 (チェックサム、メッセージ認証、独自認証など) とシステム情報 (遅延メッセージ、メッセージ参照、重複する可能性のあるメッセージなど) の両方が含まれます。 SWIFT によって追加されたトレーラーは、"{S:" で区切られた 3 番目のブロックも提供します。 SWIFT ユーザー ハンドブックの「FIN サービスの説明」では、ブロック 5 の内容について詳しく説明しています。 A4SWIFTは、ブロック S の内容を検証しません。
実際の FIN インターフェイスまたは SWIFT ネットワークによってトレーラーが追加されます。 A4SWIFTがメッセージを受信したときにメッセージにトレーラーが含まれている場合、A4SWIFTはトレーラーをメッセージと共に運びます。 A4SWIFTは、メッセージを受信したときにメッセージにトレーラーが含まれていない場合A4SWIFTエラーは発生しません。 ヘッダーと同様に、ブロック自体を含むすべてのトレーラー エントリは、A4SWIFTでは省略可能です。