このセクションの内容

概要

Parasoft RabbitMQ Transport Extension は、Parasoft SOAtestのメッセージクライアントツールに適切な RabbitMQ トランスポートのサービスを追加します。Rabbit MQ は、軽量で信頼性が高く、スケーラブルで、ポータブルなメッセージ ブローカーです。Rabbit MQ を使用するアプリケーションはプラットフォームに依存しない、ワイヤレベルのプロトコルである Advanced Message Queuing Protocol (AMQP) を使用して通信を行います。

関連する拡張機能 RabbitMQ Listener を使用すると、Parasoft Virtualize の仮想アセットは RabbitMQ 上でメッセージの受信と応答を行うことができます。

前提条件

  • SOAtest 9.9.0 以降

インストール

Parasoft RabbitMQ Transport は UI またはコマンドラインからインストールできます。

UI からのインストール

  1. [Parasoft] メニュー > [設定] を選択します。
  2. [システム プロパティ] ページで [JAR の追加] をクリックします。 
  3. ファイル ブラウザーで rabbitmqtransport.jar を選択します。 

jar ファイルが SOAtest のクラスパスに追加されると、必要なすべての依存ライブラリがロードされます。

コマンドラインからのインストール

localsettings プロパティ ファイルの system.properties.classpath プロパティに rabbitmqtransport.jar を追加します。例:

system.properties.classpath=<path to jar>/rabbitmqtransport.jar

クラスパスを変更すると、必要なすべての依存ライブラリがロードされます。

使用方法

RabbitMQ Transport は、主にメッセージ クライアント ツール (SOAP ClientEDI ClientMessaging Client など) で使用されます。トランスポートの設定はメッセージ クライアントの [トランスポート] タブで行います。メッセージ クライアントで RabbitMQ Transport を使用するには、トランスポート ドロップダウン メニューから [RabbitMQ (AMQP)] を選択し、表示されるオプションを設定します。

以下のオプションを設定できます。多くのオプションは RabbitMQ の設定と同一です。詳細については「Rabbit MQ documentation」を参照してください。

接続設定

ホスト 

Rabbit MQ サーバーのホスト名を指定します。デフォルト値は localhost です。 

ポート 

Rabbit MQ サーバーのポートを指定します。デフォルト値は 5672 (SSL が有効な場合は 5761) です。 

SSL の使用 

SSL を有効/無効にします。デフォルト値は false です。 

ユーザー名 

RabbitMQ のユーザー名を指定します。デフォルト値は guest です。 

パスワード 

RabbitMQ のパスワードを指定します。デフォルト値は guest です。 

Virtual Host 

接続する Rabbit MQ の仮想ホストを指定します。デフォルト値は / です。 

Automatic Recovery 

接続エラー時にトランスポートが自動的にリカバリーを試みるようにするには、true を設定します。デフォルト値は true です。 

Topology Recovery 

トポロジーのエラーが発生したとき (エクスチェンジまたはキューのエラーなど) にリスナーが自動的にリカバリーを試みるようにするには、true を設定します。デフォル値は true です。

パブリッシュ設定

エクスチェンジ名 

メッセージの送信先エクスチェンジを指定します。デフォルト値は default exchange です。 

ルーティング キー 

メッセージの送信に使用されるルーティング キーを指定します。 

必須 

メッセージの mandatory フィールドに true または false を指定してパブリッシュするかを指定します。デフォルト値は false です。 

即時

RabbitMQ 3.0 以上ではサポートされていません。メッセージの immediate フィールドに true または false を指定してパブリッシュするかを指定します。デフォルト値は false です。 

基本プロパティ

App ID 

メッセージを生成したアプリケーションの識別子を指定します。 

クラスター ID 

AMQP 0.9.1 で非推奨になりました。クラスター間のルーティング識別子を指定します。 

コンテンツ エンコーディング 

メッセージ コンテントのエンコーディングを指定します。MIME コンテント タイプ (gzip など) を指定します。 

コンテンツ タイプ 

メッセージのコンテント タイプを指定します。MIME コンテント エンコーディング (application/json など) を指定します。デフォルトでは、リクエスト メッセージのコンテント タイプが使用されます。 

応答条件 ID 

関連するメッセージ (リプライの元のメッセージなど) の ID を指定します。 

デリバリー モード 

メッセージをディスクに永続化するかどうかを指定します。非永続化の場合は 1 を、永続化の場合は 2 を入力します。 

有効期限 

メッセージが削除されるまでの有効期間 (ミリ秒単位) を指定します。 

ヘッダー 

メッセージ ヘッダーを指定します。カンマで区切られたキー/値のペアを入力します。

例:

key1=value1,key2=value2 

メッセージ ID 

メッセージ識別子を指定します。 

優先度 

メッセージの優先度を指定します。0 から 9 までの数値を入力します。 

ReplyTo 

レスポンスを送信するキューの名前を指定します。 

タイムスタンプ 

メッセージのタイムスタンプを設定する方法を指定します。現在時刻を使用するには auto を入力します。日付/時刻を固定値で入力することもできます。日付/時刻の固定値を指定する場合、 yyyy-MM-dd HH:mm:ss という書式を使用するか (例: 2017-01-18 19:14:59)、ロケール デフォルトの書式 (例: US では 1/17/17 7:15 pm) を使用します。UNIX のタイムスタンプ書式も使用できます。 

タイプ 

メッセージ タイプを指定します (イベントのタイプやこのメッセージが表すコマンドなど)。 

ユーザー ID 

オプションのユーザー ID を指定します。 

処理設定

応答を待機 

リプライ メッセージを待機する必要がある場合、true を設定します。デフォルト値は true です。

true を設定した場合、Response Correlation Settings でレスポンス相関パラメーターを指定することによって、リプライ メッセージをフィルタリングすることもできます。

メッセージ送信前にコンシューマーを作成 

メッセージを送信する前にコンシューマーを作成する必要がある場合、true を設定します。デフォルト値は true です。 

キュー名 

リプライ キューを指定します。デフォルト値は temporary queue です。 

バインディング エクスチェンジ 

一時キューがバインドされるエクスチェンジを指定します。 

Binding Routing Key 

一時キューをエクスチェンジにバインディングするときに使用するバインディング キーを指定します。 

リプライのタイムアウト 

リプライのタイムアウトをミリ秒単位で指定します。デフォルト値は 30000 です。 

レスポンス応答条件の設定

リプライ メッセージを待機するよう RabbitMQ を設定した場合、これらの設定によって、レスポンス応答条件パラメーターを指定してリプライ メッセージをフィルタリングできます。応答条件が設定されていない場合 (すべてのフィールドが空の場合)、フィルタリングは行われず、トランスポートは利用可能な最初のリプライ メッセージを処理します。応答条件が設定されている場合、フィールドのエントリは上から下に評価されます。最初に一致したフィールドが応答条件として使用されます。

レスポンス応答条件 ID とリクエストメッセージ ID を比較 

応答条件 ID がパブリッシュされたメッセージのメッセージ ID と一致する場合を除き、すべてのレスポンスを無視する場合、true を設定します。デフォルト値は false です。 

レスポンス応答条件 ID とリクエスト応答条件 ID を比較  

応答条件 ID がパブリッシュされたメッセージの応答条件 ID と一致する場合を除き、すべてのレスポンスを無視する場合、true を設定します。デフォルト値は false です。 

応答条件 ID 値の比較 

このフィールドに値を指定すると、指定された値と応答条件 ID が一致するもの以外のすべてのレスポンスが無視されます。 

接続の管理設定

接続をキープ アライブ/ テスト実行後に接続をクローズする 

RabbitMQ Transport は、複数のアクティブな接続の使用を許可します。接続設定がすでに開かれている接続と一致する場合、接続が再利用されます。接続設定が異なる場合、新しい接続が作成されます。

テストを「キープ アライブ」に設定すると ([接続をキープ アライブ] が有効な場合)、テスト実行の最後にSOAtest は接続に対してclose() を呼び出しません。

接続をクローズするには、テストは「接続クローズ」として設定されていなければなりません ([テスト実行後に接続をクローズする] を有効化)。SOAtest は最後に使用された接続、つまりテストに使用された接続をクローズします。

ビルトインの HTTP トランスポートとは異なり、カスタム トランスポートには、すべての実行が完了したときに開かれている接続を最終的にクリーンアップする手段はありません。代わりに、ユーザーが最後のテストの接続を「接続クローズ」としてマークする必要があります。さもないと、接続は開かれたままになります。

たとえば、以下のシナリオでは、テスト実行が終わった後、両方の接続がオープンのままになります。

Settings A (キープアライブ)

Settings B (キープアライブ)

Settings A (キープアライブ)

Settings B (キープアライブ)

これを修正するには、各設定の最後のテストを「接続クローズ」としてマークします。

Settings A (キープアライブ)

Settings B (キープアライブ)

Settings A (接続クローズ)

Settings B (接続クローズ)


サード パーティのコンテンツ

この拡張機能は、以下のサード パーティのコンテンツを含みます。

その他のライセンスの詳細については、Parasoft Burp Suite Extensions の licenses フォルダーを参照してください。

  • No labels