このセクションは、一般的な JMS プロバイダー用に SOAtest を構成するためのリファレンスを提供します。
このセクションの内容:
必要な JAR ファイルの追加
以下の操作を行って、SOAtest のクラスパスに必要な Jar ファイル (下の表に記載) を追加します。
- [Parasoft] メニューの [設定] をクリックします。
- [Parasoft] > [システム プロパティ] ページを開きます。
- [Jar の追加] ボタンをクリックし、必要な Jar ファイルを選択して追加します。
JNDI 認証
JMS システム (JNDI アクセスに認証を要求するように設定された) への接続にユーザー名とパスワードが要求される場合はいつでも、次の JNDI プロパティを設定する必要があります。
- java.naming.security.principal=<username>
- java.naming.security.credentials=<password>
Apache ActiveMQ
対象 | Apache Active MQ |
最低限必要な Jar | ActiveMQ インストール ディレクトリ配下にあります。 - activemq-all-[version].jar |
一般的なプロバイダー URL パターン | tcp://hostname:61616 |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス デフォルトの接続ファクトリ JNDI 名 |
詳細 | http://activemq.apache.org/jndi-support.html |
Apache Qpid
対象 | Apache Qpid |
最低限必要な Jar | http://qpid.apache.org/download.htmlで取得した qpid-java-client-{ver}.tar.gz にあります。 Qpid のバージョンによって Jar が異なります。Qpid 0.8 の Jar は次を含みます。
|
接続 URL JNDI プロパティ | connectionfactory.<jndiname> For example: connectionfactory.local = amqp://user:password@clientid/testpath?brokerlist='tcp://localhost:5672' |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
詳細 | https://cwiki.apache.org/qpid/how-to-use-jndi.html |
GlassFish MQ
対象 | GlassFish |
最低限必要な Jar | GlassFish 3 - [GlassFish install directory]/glassfish/lib 配下にあります。- gf-client.jar 注意: gf-client.jar は、インストールした Glass-Fish 3 からの数十の他の Jar を参照します。参照された Jar の検索、読み込みを可能にするために、 GlassFish インストール ディレクトリから gf-client.jar を参照する必要があります。 GlassFish は http://glassfish.java.net/ からダウンロードできます。 GlassFish 2 - [GlassFish install directory]/lib 配下にあります。 - appserv-admin.jar |
一般的なプロバイダー URL パターン | iiop://yourhostname:3700 |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス 注意: GlassFish は、"com.sun.appserv.naming.S1ASCtxFactory" と呼ばれるもう1つの JNDI Initial Context ファクトリ クラスを持っています。このクラスはパフォーマンスで劣るため、使用すべきではありません。GlassFish 2 や GlassFish 3 の両方で利用可能なクラスの代わりに、上記の SerialInitContextFactory クラスを使用してください。 |
注釈 | GlassFish クライアントや GlassFish サーバーは、相互に DNS の逆引きを行います。サーバーがクライアントのホスト名を認識しない場合は、サーバー上の hosts ファイルにクライアントのホスト名と IP アドレスを追加することができます。クライアントがサーバーのホスト名を認識しない場合は、クライアント上の hosts ファイルにサーバーのホスト名と IP アドレスを追加することができます。 hosts ファイルは、通常 /etc/hosts (Unix) および %System-Root%\system32\drivers\etc\hosts (Windows) にあります。 |
詳細 | http://glassfish.java.net/ |
IBM WebSphere Application Server (WAS)
対象 | WAS Default JMS プロバイダー。Parasoft は、WAS 7.0 以降で提供され、WAS 6.0.2 以降と相互運用が可能な、 IBM の JMS シンクライアントの使用を推奨しています。 |
最低限必要な Jar | [WAS installation dir]/runtimes 配下にあります。 |
一般的なプロバイダー URL パターン | iiop://yourhostname:2809/ |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
詳細 | WebSphere Application Server Network Deployment, バージョン 7.0 ドキュメント |
WAS 7.0 以降を持っていない場合
WAS 7 インストールを使用していない (またはアクセスできない) 場合、 WAS 6.0.2 以降でも動作する IBM Client for JMS をダウンロードし、インストールします。
- http://www-01.ibm.com/support/docview.wss?uid=swg24012804 から JMS Client のインストーラー Jar をダウインロードします。
- ダウンロード ページの手順に従って、 Sun JRE 用の JMS と JNDI の両方の Jar をインストールします。 クライアント Jar をインストールするコマンドは、以下のようになります。
"java -jar sibc_oeminst-o0902.06.jar jms_jndi_sun C:\ibmjms"
クライアント Jar は lib フォルダーは以下にインストールされます。 - JNDI プロパティ
com.ibm.CORBA.ORBInit=com.ibm.ws.sib.client.ORB
を追加します。- 簡単にするために、この JNDI プロパティは JRE lib フォルダーの jndi.properties ファイルでグローバルに設定できます。
- この製品のスタンドアロン ビルドでは、 JRE lib フォルダーは Parasoft/Test/{ver}/plugins/com.parasoft.xtest.jdk.eclipse.core.{platform}.{arch}_{ver}/jdk/jre/lib 配下にあります。
- この JNDI プロパティは、 WAS 7 の runtimes フォルダーから Jar を使用するときには必要ありません。
IBM WebSphere MQ (MQ Series)
対象 | WebSphere MQ JMS プロバイダー |
最低限必要な Jar | MQ 9 用次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。
MQ 8 用次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。
MQ 7.0 用次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。
以下の Jar もダウンロードする必要があります。
MQ 6.0 用次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。
以下の Jar もダウンロードする必要があります。
MQ クライアントのダウンロード[WebSphere MQ installation directory]/java/lib の Jar は、MQ クライアントにも含まれています。MQ 6 Client は、現在では IBM から入手できません。MQ 7 Client は次からダウンロードできます: http://www-01.ibm.com/support/docview.wss?uid=swg24019253 |
一般的なプロバイダー URL パターン | yourhostname:1414/SYSTEM.DEF.SVRCONN |
ファクトリ クラス | WebSphere MQ JNDI Initial Context ファクトリ クラス - com.ibm.mq.jms.context.WMQInitialContextFactory |
SSL の構成 | WebSphere JMS クライアントは初期コンテキストで適切なプロパティを設定することで SSL 接続を実現できます。 WebSphere MQ と WebSphere JMS 両方のクライアントは SSL の接続性に同じプロパティを設定します。 |
JNDI を伴わない JMS メッセージング | プロパティ タブで次の設定を定義します。 import com.ibm.mq.jms.*; ... MQConnectionFactory cf = new MQConnectionFactory(); cf.setHostName(hostname); cf.setPort(port); cf.setQueueManager(queuemanager); cf.setChannel(channel); cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP); cf.setFailIfQuiesce(JMSC.MQJMS_FIQ_YES); cf.setUseConnectionPooling(true); |
注釈 | IBM の JNDI プロバイダーはユーザーのログイン名を送信することによって、 Websphere MQ サーバーで自身を認証します。これは一般的に Virtualize を起動する前にワークステーションにログインするときに提供されたユーザー名です。 MQ サーバーがユーザー名を認識しない場合、ツールは次のエラーを返します: "javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager". このエラーは、 Websphere MQ サーバー マシンに Windows ユーザーのアカウントを追加することで解決できます。このアカウントは、 1) SOAtestを実行しているローカル マシン上のアカウントと同じユーザー名、および 2) IBM WebSphere MQ Administration グループ "mqm" のメンバー、である必要があります。 あるいは、 Java システム プロパティの user.name の値を変更することによって異なるユーザー名を使用します。このシステム プロパティは、 SOAtestを Extension Tool を使って Sun の Java API の java.lang.System.setProperty() メソッドを呼び出すことで、テスト スイートの実行中に Java システム プロパティを変更することもできます。 このエラーに関する詳細については、http://www.mqseries.net/phpBB/view-topic.php?t=40640 を参照してください。 |
詳細 | http://www-01.ibm.com/software/integration/wmq/library/ http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.csqzaw.doc/jm10320_.htm |
JBoss JMS
対象 | Boss JMS; 次の Jar リストは JBoss 5.0 に基づいています。 |
最低限必要な Jar | [JBoss install dir]/client 配下にあります。 |
一般的なプロバイダー URL パターン | yourhostname |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
Open Message Queue (OpenMQ)
注意: OpenMQ はそれ自身で実行することも、 "Glassfish MQ" と呼ばれる Glassfish App Server の一部として実行することも可能です。Glassfish から OpenMQ を使用している場合は、 GlassFish セクションを参照してください。
対象 | OpenMQ Server |
最低限必要な Jar | [OpenMQ install dir]/mq/lib |
一般的なプロバイダー URL パターン | yourhostname |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
詳細 | http://mq.java.net |
Oracle Advanced Queuing (AQ)
対象 | Oracle Advanced Queuing (AQ) |
最低限必要な Jar | Oracle Database に含まれる以下の Jar: または Oracle Weblogic Server に含まれる以下の Jar: |
プロバイダー URL | このフィールドは空のままにします。 |
JNDI 初期コンテキスト ファクトリ クラス | oracle.jms.AQjmsInitialContextFactory |
接続ファクトリ JNDI 名 | 以下のいずれか: |
必須 JNDI プロパティ | java.naming.security.principal=<username> |
キュー/トピック名 | キュー名の前に Queues/ を付加し、トピック名の前に Topics/ を負荷します。例: |
注釈 | 10g などの古いバージョンの Oracle データベースに含まれる aqapi.jar には初期コンテキスト ファクトリ クラスがない可能性があります。Oracle 11g 以降の jar を使用してください。最新の Oracle Database Express Edition (XE) は、oracle.com からダウンロードできます。 Oracle Database Express Edition 11g Release 2 |
詳細 | Interoperating with Oracle AQ JMS |
Oracle BEA WebLogic
対象 | Oracle BEA WebLogic |
必要最低限な Jar (シンクライアント) * | [weblogic home]/wlserver_x/server/lib 配下にあります。 注意: 追加の Jar が必要となる可能性があります。多くの Jar を検索して追加する必要から解放されるので、フルクライアントの使用を推奨します。 |
必要最低限な Jar (フルクライアント) * | "Creating a wlfullclient5.jar for JDK 1.5 client applications" の手順に記載のように、単一の wlfullclient5.jar をビルドします。 |
一般的なプロバイダー URL パターン | シンクライアント: フルクライアント: |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス: |
詳細 | http://docs.oracle.com/cd/E12840_01/wls/docs103/client/jarbuilder.html |
Progress Sonic MQ/ESB
対象 | Progress Sonic MQ/ESB |
最低限必要な Jar | [sonic install dir]/MQ7.x/lib 配下にあります。 注意: SonicMQ の broker.jar と TIBCO の tibcojms.jar を一緒に使用することはできません。 |
一般的なプロバイダー URL パターン | tcp://yourhostname:2506 |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
詳細 | SonicMQ Application Programming Guide の Appendix A (Using the Sonic JNDI SPI) を参照してください。その他の関連するセクションについても言及しています。 |
RabbitMQ
対象 | RabbitMQ |
最低限必要な Jar | Maven's Central Repository からクライアント ライブラリをダウンロードしてください。 rabbitmq-jms-<version>.jar |
.bindings ファイルの例 | #This file is used by the JNDI FSContext. #Wed Jan 31 15:36:15 PST 2018 ConnectionFactory/FactoryName=com.rabbitmq.jms.admin.RMQObjectFactory ConnectionFactory/ClassName=javax.jms.ConnectionFactory ConnectionFactory/RefAddr/0/Type=name ConnectionFactory/RefAddr/0/Encoding=String ConnectionFactory/RefAddr/0/Content=jms/ConnectionFactory ConnectionFactory/RefAddr/1/Type=type ConnectionFactory/RefAddr/1/Encoding=String ConnectionFactory/RefAddr/1/Content=javax.jms.ConnectionFactory ConnectionFactory/RefAddr/2/Type=factory ConnectionFactory/RefAddr/2/Encoding=String ConnectionFactory/RefAddr/2/Content=com.rabbitmq.jms.admin.RMQObjectFactory ConnectionFactory/RefAddr/3/Type=host ConnectionFactory/RefAddr/3/Encoding=String ConnectionFactory/RefAddr/3/Content=host.company.com ConnectionFactory/RefAddr/4/Type=port ConnectionFactory/RefAddr/4/Encoding=String ConnectionFactory/RefAddr/4/Content=5672 |
一般的なプロバイダー URL パターン | .bindings ファイルを含むディレクトリ パス。 file://C:/JNDI/rabbitMQ/ |
初期コンテキスト | com.sun.jndi.fscontext.RefFSContextFactory |
接続ファクトリ | JNDI Initial Context ファクトリ クラス |
Solace JMS
対象 | Solace JMS |
最低限必要な Jar | commons-lang-<version>.jar sol-common-<version>.jar sol-jcsmp-<version>.jar sol-jms-<version>.jar |
一般的なプロバイダー URL パターン | smf://<host>:<port> |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス 接続ファクトリのルックアップにアクセスするために追加の JNDI プロパティ Solace_JMS_VPN=myvpn を設定する必要があります。デフォルトの VPN 名はありません。 |
Sun Java System Message Queue (Sun MQ)
対象 | Sun MQ Server |
最低限必要な Jar | [Sun MQ install dir]Sun/MessageQueue/mq/lib 配下にあります。 |
一般的なプロバイダー URL パターン | yourhostname |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
詳細 | Sun Java System Message Queue Administration 3.x/4.x Guide の Quick-Start Tutorial セクションを参照してください。このドキュメントは http://docs.sun.com/app/docs/prod/message?l=en#hic からダウンロードできます。ドキュメント内で、 [Software] > [Application & Integration Services] > [Message Queue] に移動します。 |
TIBCO EMS
対象 | TIBCO EMS |
最低限必要な Jar | [TIBCO install dir]/ems/clients/java 注意: SonicMQ の broker.jar と TIBCO の tibcojms.jar を一緒に使用することはできません。 |
一般的なプロバイダー URL パターン | tcp://yourhostname:7222 yourhostname (if using default port numbers) |
ファクトリ クラス | JNDI Initial Context ファクトリ クラス |
SSL の構成 | 次の JNDI プロパティを構成する必要があります。 双方向 SSL では、次の追加プロパティも構成する必要があります。 |
注釈 | Tibco EMS への接続にユーザー名とパスワードが必要なときはいつでも、次の JNDI プロパティを構成する必要があります。 |
詳細 | TIBCO Enterprise Message Service ユーザーズ ガイドの section 9: Developing an EMS Client Application> Programmer Checklist を参照してください。 |
Sun JMS
SOAtest と Virtualize は Sun JNDI 実装をバンドルしています。Sun JNDI 実装 は、 com.sun.jndi.fscontext.RefFSContextFactory を使用して、ローカル ハード ドライブ上のディレクトリおよびファイルに初期コンテキストとして JNDI バインディングを、およびユーザー定義のプロバイダー URL (ディレクトリ ) “C:\JNDIRoot” などを格納しています。
Sun 実装を使用しているとき、 fscontext が正常に ConnectionFactory および Queue か Topic オブジェクトをルックアップできるような .binding ファイルで “C:\JNDIRoot”ディレクトリに データ投入することが必要です。Parasoft は Virtualize インストール ディレクトリ (/examples/jms/JndiFileProviderTest.java) に .binding ファイルを作成するサンプルを保持しています。
その他の JMS プロバイダー
その他の JMS プロバイダーの場合、ご使用のシステムと通信する JMS クライアントを構成する方法についてはベンダーのガイドを参照してください。