このセクションでは、SonicMQ トランスポートについて説明します。SonicMQ トランスポートは、JMS トランスポートの拡張実装です。

セクションの内容:

SOAtest はJMS メッセージ タイプのほかに SonicMQ トランスポートの  MultiPartMessage をサポートします。JMS メッセージ タイプの場合は、JMS トランスポートを使用する必要があります。JMS トランスポートの詳細については 「JMS」を参照してください。

発信メッセージの場合、text/xml" タイプとしてリクエスト メッセージをラップする単一のパートからなる MultiPartMessage が作成されます。ユーザーは、[パート コンテンツID] フィールドを使用してパートの 'Content-ID' ヘッダー フィールドの値を指定できます。受信メッセージの場合、JMS トランスポートもSonicMQ トランスポートも複数のパートからなる MultiPartMessage を解析できます。

SonicMQ のための新規テストを作成

SonicMQ のためのテストを作成するには、次の操作を行います。

  1. 通常と同じように WSDL テスト作成ウィザードを完了します (詳細については 「WSDL からのテスト作成」を参照してください)。
  2. SonicMQ を使用するテストのノードをダブルクリックします。
  3. GUI 右側のパネルで [トランスポート] タブを開き、[トランスポート] ドロップダウン リストから [SonicMQ] を選択します。[トランスポート] ドロップダウン リストの下に、以下のオプションが表示されます。
  4. 以下のセクションの説明に従って必要なオプションを構成します。

SonicMQ オプションの構成

ツールの [トランスポート] タブの [ トランスポート] ドロップダウン メニューで [SonicMQ] を選択すると、[トランスポート] タブの左ペインに次のオプションが表示されます。

接続設定

[接続設定] には [設定] タブと [プロパティ] タブがあります。[プロパティ] タブは任意オプションであり、[設定] タブで指定される プロバイダー URL および 初期コンテキスト プロパティの他に、JNDI の javax.naming.InitalContext コンストラクターに渡される付加的なプロパティを指定できます。[設定] タブには以下のオプションがあります。

[接続設定] には、以下のその他のオプションがあります。

キュー/トピック

[キュー/トピック オプション] には以下のオプションがあります。

メッセージング モデル

メッセージング モデル オプションは、アプリケーション間でどのようにメッセージが送信されるかを指定します。[ポイント ツー ポイント] または [パブリッシュ/サブスクライブ] を選択します。

メッセージ交換パターン

メッセージ交換パターン オプションは、SOAtest がレスポンスを受信するかどうかを指定します。[レスポンスの取得] をオンにすると、SOAtest はメッセージを送信してレスポンスを受信します。[レスポンスの取得] をオフにすると、SOAtest は一方向のメッセージを送信し、レスポンスを受信しません。

[レスポンスの取得] をオンにすると、[メッセージ送信前に JMS の返信先にメッセージ コンシューマーを作成] オプションも利用可能になります。JMS の返信先トピックに非常に短時間でレスポンスが到着することが予想される場合、このオプションをオンにして、レスポンス メッセージがパブリッシュされる前に必ず SOAtest が返信先トピックをサブスクライブしているようにします。

このオプションと [レスポンスの JMSCorrelationID とリクエストの JMSMessageID を照合] は同時に選択できません。なぜなら、 JSM の仕様はメッセージ送信後に JMSMessageID を生成するようベンダーに要求しているからです。そのため、メッセージが送信され JMSMessageID が利用可能になる前に、応答条件 (セレクター) を指定してレスポンスの返信先にコンシューマーを作成することはできません。 

メッセージ タイプ

ドロップダウン メニューからメッセージ タイプを選択できます。SonicMQ メッセージは、SonicMQ クライアント間で転送されるデータを含む Java オブジェクトです。次のメッセージ タイプを選択できます。

パート コンテンツ ID

Sonic MultipartMessage は複数のパートを持つことができます。各パートには固有の名前 (ID) とコンテンツがあります。SOAtest および Virtualize は単一パートの MultipartMessages の送信をサポートします。  このフィールドでパートの名前を指定し、[リクエスト] エリアでコンテンツを定義します (フォーム入力、リテラルXMLなど)。SOAtest および Virtualize はマルチパートの MultipartMessages の受信をサポートしており、すべてのパートのコンテンツを XML としてツールのレスポンス出力に出力します。

リクエスト メッセージ プロパティ 

リクエスト メッセージ プロパティは任意プロパティです。メッセージをキューに送信 (またはトピックにパブリッシュ) する前に javax.jms.Message オブジェクトにさまざまなプロパティ値を設定できます。javax.jms.Message クラスの set メソッドを使用して発信リクエスト メッセージに設定する定義済みプロパティや、setStringProperty() で設定する任意のカスタム プロパティを設定できます。

レスポンス メッセージ応答条件 

[レスポンス メッセージ応答条件] には以下のオプションがあります。

SonicMQ を使用するクライアントのためのメッセージ オブジェクト出力

SonicMQ トランスポートを使用するツールにメッセージ オブジェクト出力を追加できます。たとえば、SonicMQ を使用する Messaging Client ツールに Extension ツールを連結すると、レスポンス SonicMQ メッセージにアクセスできます。ObjectMessage の場合、 getter および  equals() メソッドを使用してレスポンスを検証し、回帰コントロールを作成できます。また、レスポンス トラフィックに Diff ツールを連結し、レスポンスが ObjectMessage である場合、SOAtest は挿入されたシリアライザブル オブジェクトを XML 形式に変換し、XML の比較を実行します。その際、データ バンクの値を使用したり、XPath の差異を無視したりできます。

メッセージ オブジェクト出力を追加するには、次の操作を行います。

  1. 出力を追加するSOAP Client または Messaging Clientのノードを右クリックし、ショートカット メニューの [出力の追加] をクリックします。[出力の追加] ウィザードが表示されます。

  2. 左側のパネルで [レスポンス] > [メッセージ オブジェクト] を選択し、右側のパネルで [新規ツール] または [既存ツール] を選択して任意のツール (Extension ツールなど) を選択します。
  3. [終了] ボタンをクリックします。選択されたクライアントのノードに新規出力が追加されます。