概要
Asynchronous Socket Transport は Netty を基に構築されており、さまざまなモードをサポートします。
インストール
ツールは UI またはコマンドラインからインストールできます。
UI からのインストール
- [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
- [JAR の追加] をクリックし、com.parasoft.soavirt.transport.asynchronous.socket-1.1.0.jar ファイルを選択します。jar ファイルが SOAtest のクラスパスに追加されると、必要なすべての依存ライブラリがロードされます。
- [適用] をクリックします。
- SOAtest/Virtualize を再起動します。
コマンドラインからのインストール
設定プロパティ ファイルの system.properties.classpath
プロパティに com.parasoft.soavirt.transport.asynchronous.socket-1.1.0.jar ファイルを追加します。例:
system.properties.classpath=<path to jar>/com.parasoft.soavirt.transport.asynchronous.socket-1.1.0.jar
クラスパスを変更すると、必要なすべての依存ライブラリがロードされます。
使用方法
Asynchronous Socket Transport は、主に Messaging Client ツールで使用されます。トランスポートの設定はメッセージング クライアントの [トランスポート] タブで行います。[トランスポート] メニューから [Asynchronous Socket] を選択し、表示されるオプションを設定します。
設定
以下のオプションを設定できます。
接続
プロトコル | メッセージを送信するために使用されるプロトコルを指定します。選択肢は TCP または デフォルト: |
---|---|
Host | アプリケーションが実行されているホストを指定します。固定値を指定するか、[スクリプト] を選択して [スクリプトの編集] をクリックし、スクリプト エディターを表示してプログラム的にホストを指定します。詳細については「スクリプトを使用した拡張機能の基礎」を参照してください。 デフォルトは |
Port | クライアントがメッセージを送信するホストのポートを指定します。固定値を指定するか、[スクリプト] を選択して [スクリプトの編集] をクリックし、スクリプト エディターを表示してプログラム的にポート番号を指定します。詳細については「スクリプトを使用した拡張機能の基礎」を参照してください。 |
Character Set | メッセージのエンコードに使用する文字セットを指定します。固定値を指定するか、[スクリプト] を選択して [スクリプトの編集] をクリックし、スクリプト エディターを表示してプログラム的に文字セットを指定します。詳細については「スクリプトを使用した拡張機能の基礎」を参照してください。 デフォルト: |
Read Mode | メッセージの読み取りモードを指定します。
固定値を指定するか、[スクリプト] を選択して [スクリプトの編集] をクリックし、スクリプト エディターを表示してプログラム的に読み取りモードを指定します。詳細については「スクリプトを使用した拡張機能の基礎」を参照してください。 デフォルト: |
固定長
Fixed Length フィールドに固定長メッセージのサイズを指定します。
たとえば、メッセージのサイズが常に 4 バイトである場合、クライアントは次のようなリクエストを送信します。
[0, 0, 0, 0]
トランスポートは同じサイズのレスポンスを返します。例:
[1, 1, 1, 1]
クライアントからの 4 バイトのメッセージがメッセージであるとみなされます。
トークン区切り
Token Delimiter | メッセージを区切るトークンを指定します。 デフォルト: |
---|---|
Token Type | トークンのバイトを取得するために使用する変換のタイプを指定します。
デフォルト: |
接頭辞付き可変長 (数値)
このセクションの設定は、読み取りモードに prefixed
が指定されている場合にだけ適用されます。
Length of the Length Field | 長さフィールドの長さを指定します。指定されたバイト数を読み取り、数値に変換してメッセージの長さを判断します。以下の値を指定できます。 デフォルトでは、4 バイトを読み取って整数に変換します。 |
---|---|
Include Length Field Size in Length | 読み取られた長さに Length フィールドのサイズが含まれるかどうかを指定します。 たとえば、このオプションを有効にした場合、メッセージが 4 バイトのとき、Length フィールドの値として 8 を送信します。なぜなら、Length フィールドのデフォルトの長さは 4 バイトであり、これがメッセージ本体の長さに追加されるからです。 デフォルト: |
Format of Static Prefix/Suffix | 静的な接頭辞/接尾辞をバイトに変換する際に使用する変換のタイプ
デフォルト: |
Static Prefix | メッセージに追加される接頭辞セグメントです。必須の場合があります。指定された場合、メッセージのフォーマットは <PREFIX_BYTES><LENGTH_FIELD_BYTES><MESSAGE_DATA_BYTES> です。 |
Static Suffix | メッセージに追加される接尾辞セグメントです。必須の場合があります。指定された場合、メッセージのフォーマットは <LENGTH_FIELD_BYTES><MESSAGE_DATA_BYTES><SUFFIX_BYTES> です。 |
接頭辞付き可変長 (数値) の設定例
クライアントが int
型の接頭辞付きのメッセージ request1
を含むリクエストを CP037
文字セットで送信し、length 値に接頭辞の長さが含まれている場合、リクエストは次のバイト列で表されます。
[0, 0, 0, 12, 114, 101, 113, 117, 101, 115, 116, 49]
先頭の 4 バイト ([0, 0, 0, 12]
) は整数 12
です。これは接頭辞である先頭 4 バイトを含むメッセージ全体の長さです。残りのバイトは設定の文字セットでエンコードされた文字列 request1
です。
接頭辞付き可変長 (String)
このセクションの設定は、読み取りモードに prefixed-string
が指定されている場合にだけ適用されます。
String Prefix Length | メッセージの length 接頭辞のサイズを指定します。読み取るバイト数は、ここで指定された桁数をバイトに変換した値を元に計算します。トランスポートは 0 をバイトにエンコードし、このフィールドで指定された数をバイト数に乗算します。 |
---|---|
Include Prefix in Length | 接頭辞から読み取られた長さに接頭辞の長さも含まかどうかを指定します。 デフォルト: |
SSL
SSL Enabled に true
を指定すると、SSL でリスンします。
ロギング
Log Level フィールドの値を指定します。この設定はオプションです。
- エラーだけを記録するには
1
を入力します。 - エラーと警告を記録するには
2
を入力します。 - エラー、警告、通知を記録するには
3
を入力します。 - エラー、警告、通知、デバッグを記録するには
4
を入力します。
デフォルトは 3
です。
接続管理
テストとテストの間にサーバーから送信されたメッセージを見逃さないようにするために、[接続をキープ アライブ] を有効にしたり、次のテストが古いメッセージを取得しないようにテスト実行後に [接続を閉じる] を有効にしたりできます。
非同期メッセージのテスト
通常、このトランスポートは SOAtest メッセージング クライアントで使用され、[リクエスト] タブで設定されたとおりに 1 つのメッセージを送信し、レスポンスとして 1 つのメッセージを受信するのを待機します。ただし、サーバーが複数のメッセージで応答したり、まったく応答しなかったりする場合もあります。このような非同期のケースでは、次の構成の 1 つ以上を使用します (該当する場合)。
- [Read Mode] を
none
に設定することで、サーバーからの応答メッセージを待たずに 1 つのメッセージを送信します。 - [リクエスト] タブを Literal に設定し、[テキスト] を有効にしてテキスト フィールドを空のままにしておくことで、メッセージの送信をスキップし、サーバーからの次のメッセージを受信するまで待機します。
- テストとテストの間にサーバーから送信されるメッセージを見逃さないように、Connection Management で [接続をキープ アライブ] を有効にします。
- テスト スイート フロー ロジック を使用して、サーバーから動的な数のメッセージを読み取ってループします。
変更ログ
1.1
- UDP のサポートの追加。
1.0
- 初回リリース。