クライアントのポート・タイプは、質の異なるサービスを持つポートで構成することができます。
WebServicesClientBindPreferredPort コマンド行オプションを使用して、使用するポートを指定することができます。
始める前に
エンタープライズ・アーカイブ (EAR) ファイルをまだデプロイしていない場合は、
このファイルを準備するか、またはアプリケーション・サーバーにデプロイ済みである必要があります。
このタスクについて
構成された各ポート・タイプごとに、
そのポート・タイプを実装する、使用可能なポートが 1 つ以上あります。Web サービス・クライアントが getPort メソッドを呼び出すとき、優先ポート・マッピングにより使用するポートが決定されます。この決定は、ポート・タイプは指定するが、ポートは指定しない getPort 呼び出しなどの、getPort メソッド呼び出し
を満たすことができる複数のポートがある場合に行われます。
例えば、Web サービス・クライアントが Java Message Service (JMS) および HTTP 実装の両方を使用するように構成されているとします。インストールまたは管理中に WebServicesClientBindPreferredPort コマンドを使用すると、アプリケーション
の優先ポートを構成して、選択したトランスポートを使用できます。
wsadmin ツールを使用して優先ポート・マッピングを構成するには、以下のステップを実行します。
手順
- スクリプト・コマンドを起動します。 詳しくは、wsadmin スクリプト・クライアントの開始に関する項目を参照してください。
- Web サービス・クライアントの優先ポート・マッピングを構成します。
新規アクティベーション・スペックを使用または作成する代わりに、既存のリスナー・ポートを使用する場合は、EJB JAR バージョンが 2.1 より古いかどうかを確認します。
アプリケーションのデプロイに -usedefaultbindings オプションを指定すると、
アクティベーション・スペックがシステムによって自動的に作成および使用されます。アクティベーション・スペックが存在する場合は、
リスナー・ポートが無視され、代わりにアクティベーション・スペックが使用されます。
新規アクティベーション・スペックの代わりに定義済みのリスナー・ポートを使用して、2.1 以降のバージョンの
EJB JAR でアプリケーションをデプロイするには、対象のプロファイルの properties ディレクトリーの wsadmin.properties ファイルで、
com.ibm.websphere.management.application.dfltbndng.mdb.preferexisting
システム・プロパティーを true に設定します。
install、installInteractive、edit または editInteractive オプションを使用して、Web サービス・クライアントの優先ポート・マッピングを構成します。次に構文を示します。
- Jython の使用:
AdminApp.install('app_name', '[-usedefaultbindings -deployejb
-WebServicesClientBindPreferredPort {{module_name EJB_name Web_service port_type
port_name]')
- Jacl を使用:
$AdminApp install app_name {-usedefaultbindings -deployejb
-WebServicesClientBindPreferredPort {{module_name EJB_name Web_service port_type
port_name}}
複数の URL フラグメントを編集できるため、例では複数のモジュールおよび URL エンドポイントを示しています。ここで、各部の意味は次のとおりです。
- app_name はアプリケーション名です。例えば、MultiEjbJar.ear です。
- EJB_name は Web モジュールではない エンタープライズ Bean モジュールの名前です。例えば、Exchange です。
- module_name はモジュール名です。例えば、ejbclientonly.jar です。
- Web_service は Web サービスの名前です。例えば、service/StockQuoteService です。
- port_type はポート・タイプ情報です。例えば、{http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote です。
- port_name はポート名です。例えば、{http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote です。
タスクの結果
wsadmin ツールを使用して、Web サービス・クライアント優先ポート・マッピングが構成されました。
例
以下の例には、アプリケーション、モジュール、Web サービス、ポート・タイプ、およびポート情報
が含まれています。
コマンド行で以下のように書き込まれます。
$AdminApp install MultiEjbJar.ear {-WebServicesClientBindPreferredPort {{ejbclientonly.jar
Exchange service/StockQuoteService {http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote
{http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote}...}}
WebServicesClientBindPreferredPort オプション・データの作成を駆動するポート・タイプ情報は、
クライアント WSDL ファイルにあります。有効な優先ポート・マッピングは、
その portType のインターフェースを実装するポートに制限されているため、妥当性検査には各ポートの
実装タイプが必要です。
クライアント WSDL ファイルにアクセスして、
タイプおよび実装情報の両方を判別する必要があります。
クライアント WSDL ファイル名は、Web サービス・クライアント・デプロイメント記述子の ServiceRef 属性にあります。モジュール・タイプおよびバージョンに応じて、クライアント・デプロイメント記述子は、
application-client.xml ファイル、web.xml ファイル、または ejb-jar.xml ファイル
のいずれかにあります。
J2EE 1.3 を使用している場合、クライアント・デプロイメント記述子情報は webservices.xml ファイルにあります。
次のタスク
これで、その他の構成を完了したり、アプリケーションを開始または再始動したり、Web サービスの期待される動作を確認することができます。