1.5.3 電文ペアリング
電文形態が同期応答型電文の場合、要求電文と、それに対応する応答電文を対応付けるため、フレームワークでは電文をペアリングします。
ペアリングは次のタイミングで行います。
-
電文作成フェーズでの本番環境の要求/応答ペアリング
ただし、framework_definition定義の-uオプションのproduction_pairingフラグメンバの値がNの場合は、電文をペアリングしません。
-
テスト実行フェーズでの本番環境の要求/応答ペアリング
ただし、次のどちらかの場合は、電文をペアリングしません。
-
電文ファイルが蓄積ファイル、かつ、応答電文用の蓄積ファイルが指定されていない場合
-
framework_definition定義の-uオプションのproduction_pairingフラグメンバの値がNの場合
-
-
テスト実行フェーズでのテスト環境の要求/応答ペアリング
要求電文と応答電文で同じ値となるペアリングキーを使用してペアリングします。ペアリング処理時、同一ペアリングキー、かつ、その時点でペアリングされていない要求電文と応答電文をペアリングします。
TCPプロトコル以外の場合は、自動的にペアリングキーを作成します。
TCPプロトコルの場合は、フレームワークがデフォルトのペアリングキーを作成します。デフォルトのペアリングキーでペアリングできない場合(要求電文と応答電文が別コネクションなど)は、ユーザが電文情報プラグインでペアリングキーを編集します。
フレームワークでは、コネクションごとにユニークになるキーを生成してデフォルトのペアリングキーとします。また、テスト実行フェーズで要求電文が蓄積ファイルの場合、蓄積ファイル内の電文キーをペアリングキーとします。
ただし、次のような場合、コネクションごとにユニークなペアリングキーではペアリングができません。
-
要求電文と応答が別コネクション
例:1業務が複数コネクションを使用して業務を行う
-
要求電文と応答電文が同一コネクションだが、要求と応答が相互に送受信されていない
例:複数業務が同一コネクションを使用しており、要求と応答が混在している
このような場合、プラグインは、電文と応答で一意となる情報(メッセージ通番、タイムスタンプ、クライアントIPアドレスなど)を電文やアドレス情報から取得してペアリングキーを作成してください。
本番環境は電文情報プラグイン、テスト環境では送信電文編集プラグインおよび電文情報プラグインで作成します。