このセクションでは、SOAtest と Virtualize を IBM MQ にアクセスするためにセットアップする方法について説明します。IBM MQ へのアクセスは、Parasoft ツールを構成することにより実現されます。
このセクションの内容:
Table of Contents | ||
---|---|---|
|
Info | ||
---|---|---|
| ||
このセクションでは、標準の JMS API ではなく、IBM WebSphere MQ Java API を使用したサービスのテストについて言及しています。JMS API を使用して IBM WebSphere MQ のメッセージを送受信することを意図している場合は、JMS トランスポートのオプションを選択し、「JMS」を参照してください。 |
必要な JAR ファイルのクラスパスへの追加
MQ オプションを使用するには、WebSphere MQ クライアントまたは WebSphere MQ サーバー インストールの jar ファイルを追加する必要があります。MQ クライアントは http://www.ibm.com/software/integration/wmq/clients/ からダウンロードできます。
WebSphere MQ 9 の場合、次の jar ファイルが必要です。
com.ibm.mq.allclient.jar
WebSphere MQ 8 の場合、次の jar ファイルが必要です。
com.ibm.mq.allclient.jar
WebSphere MQ 7 の場合、次の jar ファイルが必要です。
com.ibm.mq.jar
com.ibm.mq.jmqi.jar
com.ibm.mq.headers.jar
com.ibm.mq.pcf.jar
com.ibm.mq.commonservices.jar
connector.jar
WebSphere MQ 6 の場合、次の jar ファイルが必要です。
com.ibm.mq.jar
connector.jar
上記のすべてのバージョンについて、[WebSphere MQ Installation directory]/java/lib
から jar ファイルを取得することができます。
SOAtest/Virtualize のクラスパスに jar ファイルを追加するには、以下の操作を行います。
- [Parasoft] > [設定] を選択します。
- [Parasoft] > [システム プロパティ] ページを開きます。
- [Jar の追加] ボタンをクリックし、必要な Jar ファイルを選択して追加します。
Java ランタイム
SSL を介して SOAtest を WebSphere MQ アプリケーションに接続するには、IBM JRE が必要です。IBM Java は、次の Web サイトで入手できます:
https://www.ibm.com/developerworks/java/jdk/
SOAtest には Java の Oracle ディストリビューションが同梱されており、デフォルトでこのディストリビューションを使用します。IBM JRE を使用するように SOAtest を構成する必要があります。詳細については、「Configuring Java Runtime」 を参照してください。
MQ オプションの設定
適切なツールの [トランスポート] タブで [トランスポート] ドロップダウン メニューから [Websphere MQ] を選択すると、左側のパネルに以下のオプションが表示されます。
Table of Content Zone | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
MQ アドレスMQ 接続設定を指定する場合、以下のいずれかのモードを選択できます。
デフォルト モードを使用する場合、以下のフィールドを設定します。
バインディング モードを使用する場合、以下のフィールドを設定します。
認証[認証の実行] チェックボックスを選択して、要求を認証するためのユーザー名およびパスワードを入力します。不正なユーザー名とパスワードが使用された場合、リクエストは認証されません。 メッセージ交換パターン[メッセージ交換パターン] で使用可能なオプションは次のとおりです。
MQRFH2 ヘッダーこのセクションは、WebSphere Message Broker ( http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/aq06920_.htm) に属するメッセージ ブローカーで、メッセージの送受信に使用する MQRFH2 ヘッダーの構成を可能にします。 [MQRFH2 ヘッダー] 項目では、リクエスト メッセージの異なるパーツを構成できます。そして SOAtest/Virtualize は指定された設定に基づいて "folders" ヘッダーを生成します。
Put メッセージ[Put メッセージ] で使用可能なオプションは次のとおりです。
Get メッセージ[Get メッセージ] で使用可能なオプションは次のとおりです。
キュー マネージャー オプション[キュー マネージャー オプション] で使用可能なオプションは次のとおりです。
MQ キュー マネージャー プロパティ[MQ キュー マネージャー プロパティ] で使用可能なオプションは次のとおりです。
SSL以下の SSL 設定を行うことができます。 CipherSuiteCipherSuite は、指定された MQ チャネルの SSL 接続のために使用されます。IBM MQ のドキュメントを参照して、CipherSpec に基づいて選択する CipherSuite を決定してください。 ドロップダウンメニューから固定 CipherSuite を指定するか、パラメータライズされた変数を入力して、トラフィックに基づいて CipherSuite を指定できます。 ピア名(任意) キュー マネージャーによって提示された証明書が [ピア名] パラメーターで指定された基準と一致することを検証するために、ピア名を指定します。サーバー証明書は、キュー マネージャーによって提示された証明書の識別名 (DN) とこのパラメーターを一致させます。 固定ピア名を指定するか、パラメータライズされた変数を入力して、トラフィックに基づいてピア名を指定できます。 キー ストアこの設定は、設定クライアント サイド SSL (キュー マネージャーによるクライアントの認証) で使用されるキーストアを指定します。[Parasoft] > [環境設定] ですべてのプロジェクトのキーストア構成を使用するようにツールを構成するか (セキュリティ設定 を参照)、スイート レベルのグローバル設定プロパティを追加して、スイート内のすべてのツールで使用可能なキーストア設定を構成できます。詳細についてはAdding Global Test Suite Properties (SOAtest) または Adding Global Properties (Virtualize)を参照してください。MQ チャネルのクライアントが自身を認証する必要がない場合は、[キーストア] を提供する必要はありません。 トラストストアサーバー サイド SSL (クライアントによるキュー マネージャーの認証) で使用されるトラストストアを指定します。[Parasoft] > [環境設定] ですべてのプロジェクトのトラストストア構成を使用するようにツールを構成するか (セキュリティ設定 を参照)、スイート レベルのグローバル設定プロパティを追加して、スイート内のすべてのツールで使用可能なトラストストア設定を構成できます。詳細についてはAdding Global Test Suite Properties (SOAtest) または Adding Global Properties (Virtualize)を参照してください。 CipherSuite を指定して SSL 接続を試行するようにツールが実行されると、トラストストア、キーストア、およびキーストア パスワードを変更することはできません。 これらが変更された場合、この変更を有効にする前に SOAtest/Virtualize を再起動する必要があります。 キーストアを使用している場合は、 Unlimited Strength Java Cryptography Extension をダウンロードし、インストールする必要があります。詳細については 「JCE 前提条件」 を参照してください。 スクリプト フック:[スクリプト フック] オプションは、Jython、Java、Groovy、および JavaScript などのスクリプト言語を使用して、MQ Properties のカスタマイズを可能にします。 スクリプト ユーティリティの使用の詳細については、チュートリアルのスクリプト セクションを参照してください。スクリプト API のリストについては、[Parasoft] > [ヘルプ] をクリックし、『Parasoft SOAtest Extensibility API』または『Parasoft Virtualize Extensibility API』ブックを参照してください。 以下はスクリプトのアクセス キーです。
挿入するメッセージの Expiry 時間を 999 に変更する場合の例:
上記のスクリプトでツールを実行完了すると、Traffic ヘッダーの Expiry フィールドが 999 に変更されます。 注意: Add MQ Hook タブで設定された任意のオプションは、他のタブで設定した任意のオプションよりも上書きして優先されます。 |
WebSphere MQ エラー メッセージの解釈
失敗が発生したとき、MQ は失敗の理由コードを返します。SOAtest/Virtualize のエラー メッセージは、ユーザーが解釈できるようにこれらと同じ理由コードをレポートします。 MQ 理由コードのリストおよびそれらの意味については、 IBM WebSphere Web サイトを参照してください: http://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.tro.doc/q040710_.htm
データを送受信する - ベスト プラクティス
このセクションでは、クライアント ツール (SOAP Client、REST Client、Messaging Clientなど) で文字データを送受信する場合のベスト プラクティスについて説明します。
Put メッセージ
XML、CSV、固定長、またはプレーン テキストなどの文字データを送信する場合、フォーマット タイプには MQFMT_STRING 定数 MQSTR の値を設定します。
SOAP Client ツールの場合、ツールの [その他] タブの [発信メッセージのエンコード] オプションで、リクエストのエンコードに使用する文字セットを指定します。
他のツール (REST Client、Messaging Client など) は、製品の [その他] 設定タブに設定された文字エンコーディングを使用します。
使用可能なオプションは以下のとおりです。
- IBM_037
- IBM_437
- ISO_8859_1
- US_ASCII
- UTF16
- UTF8
他のエンコーディングを指定した場合、MQ メッセージの文字セットは、デフォルトの MQCCSI_Q_MGR になります。これは、「メッセージの文字データは、キュー マネージャーの文字セットを使用する」ことを意味します。
Get メッセージ
クライアント ツールの MQGetMessageOptions の下にある [MQGMO_CONVERT] ボックスを有効にします ( [トランスポート] タブ)。
このオプションは、キュー マネージャーにメッセージをクライアント ツールの文字セットに変換するよう指示します。メッセージの本来の文字セットが、クライアントでサポートされている文字セット (IBM_037、IBM_437 など) に含まれていない場合、この設定が重要です。
変換を実行するために使用される文字セットは、(前のセクションで説明した) put メッセージの設定の場合と同じです。