Ping および Echo - 構成


サンプルの実行
Thin Client サンプルの実行
高信頼性メッセージングおよびセキュリティーの使用可能化

Ping および Echo サンプルは、2 つの単純な JAX-WS の Web サービスです。

Ping サンプルで、片方向操作を例示します。単純なストリング値がサービスに渡されます。クライアント操作は、サービスと接続してから完了になります。サンプルには、2 つのエンドポイントがあります。1 つのエンドポイントは SOAP 1.1 を使用し、もう 1 つは SOAP 1.2 を使用します。

Echo サンプルでは、両方向操作を示します。単純なストリング値がサービスに渡されます。サービスによって ID ストリング値が前に付加され、この値がクライアントに戻されます。サンプルには、2 つのエンドポイントがあります。1 つのエンドポイントは SOAP 1.1 を使用し、もう 1 つは SOAP 1.2 を使用します。また Echo サンプルでは、同期および非同期プログラミング・モデルと同期および非同期ワイヤー上動作も示します。


サンプル・サービス・エンドポイント
URI 説明
http://localhost:9080/WSSampleSei/PingService
SOAP 1.1 を使用する ping サービス・サンプル
http://localhost:9080/WSSampleSei/PingService12
SOAP 1.2 を使用する ping サービス・サンプル
http://localhost:9080/WSSampleSei/EchoService
SOAP 1.1 を使用するエコー・サービス・サンプル
http://localhost:9080/WSSampleSei/EchoService12
SOAP 1.2 を使用するエコー・サービス・サンプル

ポート 9080 がデフォルト値ですが、AppSrv01 以外のプロファイルにインストールする場合は、ポート番号が異なります。



サンプルの構成

Ping および Echo サンプルの構成を完了するには、JAX-WS の Web サービス・サンプル・アプリケーションをサーバーにデプロイします。 サンプル・アプリケーションがまだデプロイされていない場合は、「JaxWSServicesSamples.ear ファイルの再ビルドおよびデプロイ」の説明を参照してください。

サンプルの実行

始める前に、必ずアプリケーション・サーバーが稼働中であることを確認してからクライアントを実行してください。

Ping および Echo サンプルには、Ping および Echo の 2 つのサービスが組み込まれています。

Ping および Echo サンプルの実行

Ping サンプルで、片方向サービス・トランザクションを示します。このサンプルのソースは、profile_root/samples/src/JaxWSServicesSamples/SampleClientSei ディレクトリーにあります。

Echo サンプルで、両方向サービス・トランザクションを示します。このサンプルのソースは、profile_root/samples/src/JaxWSServicesSamples/SampleClientSei ディレクトリーにあります。

Ping および Echo クライアント・サーブレットを WebSphere Application Server から実行するには、次の手順で行います。

  1. サーバーを開始する。
  2. 実行」をクリックする。

Ping および Echo Thin Client サンプルの実行

Ping および Echo Thin Client サンプルは、Ping および Echo クライアント・サーブレットと類似しています。このサンプルは、同じ Ping および Echo Web サービス Bean にアクセスしますが、クラス・パスに Thin Client for JAX-WS with WebSphere Application JAR ファイルが必要な Java アーカイブ (JAR) ファイルを使用します。

WSSampleClientSei.jar ファイルは、samples/lib/JaxWSServicesSamples ディレクトリーにあります。

Ping および Echo Thin Client サンプルは、指定されたパラメーターに基づいて Ping またはエコー Web サービスの JAX-WS プロキシーを作成します。このプロキシーは、その後メッセージでサービス・エンドポイントに連絡を取ります。Echo サンプルは応答を待ちます。

以下のステップで、変数 app_server_root は、アプリケーション・サーバーのインストール・ルートを指します。

Ping および Echo Thin Client を WebSphere Application Server から実行するには、使用するオペレーティング・システムに応じて次の手順で行います。

  1. サーバーを開始する。
  2. コマンド・プロンプトを開く。
  3. JaxWSServicesSamples ディレクトリーに移動する。

    Windows オペレーティング・システムの場合:

    cd app_server_root\samples\bin\JaxWSServicesSamples

    AIX、Linux、および z/OS などのオペレーティング・システムの場合:

    cd app_server_root/samples/bin/JaxWSServicesSamples

    iSeries オペレーティング・システムの場合:

    cd app_server_root/samples/bin/JaxWSServicesSamples

  4. Ping および Echo Thin Client サンプルを実行する。

    Windows オペレーティング・システムの場合:

    runSampleSei.bat -h hostname -p port -f urlSuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    AIX、Linux、および z/OS などのオペレーティング・システムの場合:

    ./runSampleSei.sh -h hostname -p port -f urlSuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    iSeries オペレーティング・システムの場合:

    ./runSampleSei -h hostname -p port -f urlsuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    パラメーターは次のとおりです。
    -h <hostname> はホスト名です。デフォルトは、localhost です。
    -p <port> はポート番号です。デフォルト値は 9080 です。
    -f <urlsuffix> はサービス・エンドポイント・コンテキストです。デフォルトは /WSSampleSei/EchoService です。
    -m <message> はメッセージのテキストです。デフォルトは hello です。メッセージにブランクが含まれている場合は、メッセージを引用符で囲みます。
    -c count には、実行するトランザクション数を指定します。デフォルトは、1 です。
    -1 は、SOAP 1.1 を使用することを指定します。デフォルト値は SOAP 1.1 です。
    -2 は、SOAP 1.2 を使用することを指定します。

    次に、Windows オペレーティング・システムで Ping および Echo クライアントを正常に実行する例を示します。


    runSampleSei.bat -p 9081
    Aug 8, 2007 7:01:00 PM com.ibm.ws.ssl.config.SSLConfigManager
    INFO: ssl.disable.url.hostname.verification.CWPKI0027I
    >> CLIENT: SEI Async to http://localhost:9081/WSSampleSei/EchoService
    [WAShttpAsyncResponseListener] listening on port 4733
    >> CLIENT: SEI Async invocation complete.
    >> CLIENT: SEI Async response is: JAX-WS==>>HELLO


サンプル・クライアントとアプリケーションの動作の仕組みを詳細に知るには、Ping および Echo 技術情報か Java ソース・コードを参照してください。

Web Services クライアントの詳細については、 WebSphere Application Server Information Center Library にある Web Services クライアントの開発およびデプロイについての文書を参照してください。

高信頼性メッセージングおよびセキュリティーの使用可能化

ポリシー・セット・スクリプト
Ping および Echo Thin Client サンプルへの QoS の適用

ポリシー・セット・スクリプト

ポリシー・セットは、ReliableMessaging および SecureConversation などのサービスの 品質 (QoS) を使用可能にする場合に使用します。アプリケーションに付加されたポリシー・セットによって、そのアプリケーションのサービスの品質が定義されます。WS-ReliableMessaging (WS-RM)、WS-SecureConversation (WS-SC)、および WS-I Reliable Secure Profile (RSP) のポリシー・セットを使用可能にするためにスクリプト・セットが用意されています。RSP は、WS-RM と WS-SC の両方で構成されています。このスクリプトは、サンプルとして提供されています。管理コンソールを使用してポリシー・セットを使用可能にすることもできます。このスクリプトは、サンプル・アプリケーションでのみ動作するように設計されています。以下の表で、このポリシー・セットのサンプル・スクリプトを説明します。

Windows オペレーティング・システム用のスクリプト
ファイル名 説明
enableRMQoS.bat WS-ReliableMessaging バージョン 1.1 を使用可能にします
enableRM1QoS.bat WS-ReliableMessaging バージョン 1.0 を使用可能にします
enableSCQoS.bat WS-SecureConversation を使用可能にします
enableRSPQoS.bat WS-ReliableMessaging および WS-SecureConversation を使用可能にします
enableWSAQoS.bat WS-Addressing を使用可能にします
disableRMQoS.bat WS-ReliableMessaging バージョン 1.1 を使用不可にします
disableRM1QoS.bat WS-ReliableMessaging バージョン 1.0 を使用不可にします
disableSCQoS.bat WS-SecureConversation を使用不可にします
disableRSPQoS.bat WS-ReliableMessaging および WS-SecureConversation を使用不可にします
disableWSAQoS.bat WS-Addressing を使用不可にします

AIX、Linux、および z/OS などのオペレーティング・システム用のスクリプト
ファイル名 説明
enableRMQoS.sh WS-ReliableMessaging バージョン 1.1 を使用可能にします
enableRM1QoS.sh WS-ReliableMessaging バージョン 1.0 を使用可能にします
enableSCQoS.sh WS-SecureConversation を使用可能にします
enableRSPQoS.sh WS-ReliableMessaging および WS-SecureConversation を使用可能にします
enableWSAQoS.sh WS-Addressing を使用可能にします
disableRMQoS.sh WS-ReliableMessaging バージョン 1.1 を使用不可にします
disableRM1QoS.sh WS-ReliableMessaging バージョン 1.0 を使用不可にします
disableSCQoS.sh WS-SecureConversation を使用不可にします
disableRSPQoS.sh WS-ReliableMessaging および WS-SecureConversation を使用不可にします
disableWSAQoS.sh WS-Addressing を使用不可にします

i5/OS オペレーティング・システム用のスクリプト
ファイル名 説明
enableRMQoS WS-ReliableMessaging バージョン 1.1 を使用可能にします
enableRM1QoS WS-ReliableMessaging バージョン 1.0 を使用可能にします
enableSCQoS WS-SecureConversation を使用可能にします
enableRSPQoS WS-ReliableMessaging および WS-SecureConversation を使用可能にします
enableWSAQoS WS-Addressing を使用可能にします
disableRMQoS WS-ReliableMessaging バージョン 1.1 を使用不可にします
disableRM1QoS WS-ReliableMessaging バージョン 1.0 を使用不可にします
disableSCQoS WS-SecureConversation を使用不可にします
disableRSPQoS WS-ReliableMessaging および WS-SecureConversation を使用不可にします
disableWSAQoS WS-Addressing を使用不可にします


以下のステップを使用して、Windows オペレーティング・システム上で高信頼性メッセージング・スクリプトを実行します。 スクリプトはすべて、使用するオペレーティング・システムに基づいて同様な方法で実行できます。

  1. スタート・メニュー:「スタート」->「ファイル名を指定して実行」コマンドを使用して、コマンド・プロンプトを開く。「cmd」と入力します。
  2. app_server_root/samples/bin/JaxWSServicesSamples ディレクトリーに 変更する。例: cd C:/Program Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
  3. 高信頼性メッセージング・スクリプトを実行する。
  4. (オプション) 高信頼性メッセージングまたはセキュリティー・スクリプトを実行するときには、プロファイル、セル、ノード、またはサーバー名を指定します。高信頼性メッセージングとセキュリティーを使用可能および使用不可にするスクリプトには、次の 4 つのオプション・パラメーターがあります。

    次の例で、オプションのプロファイル、セル、およびノードの各パラメーターを指定して WS-ReliableMessaging を使用可能にするスクリプトを実行する方法を示します。

    enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

    次の例で、オプションのプロファイル、セル、およびノードの各パラメーターを指定して WS-ReliableMessaging を使用不可にするスクリプトを実行する方法を示します。

    disableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

  5. 必要に応じて、コマンド行に追加のパラメーターを構成します。サーバーで管理セキュリティーが使用可能に設定されている場合は、次のようにユーザー ID とパスワードを指定する必要があります。指定しないとスクリプトは失敗します。
    ./enableRMQoS.sh -user myuserid -password mypassword
  6. サンプル・アプリケーションが正しく開始されていることを確認します。警告メッセージが表示された場合は、サンプル・アプリケーションが正しく開始されていない可能性があります。管理コンソールを使用して サンプル・アプリケーションを停止してから再始動してください。 

Ping および Echo Thin Client サンプルへの QoS の適用

QoS ポリシー・セットを使用して、Ping および Echo Thin Client サンプルをテストするには、次のガイドラインに従います。
  1. ポリシー・セット・スクリプト・セクションの説明に従って、テストするサービス品質 (QoS) をサンプル・アプリケーションに適用する。
  2. 使用するオペレーティング・システム用に runSampleSei スクリプトを編集する。
  3. WS-I RSP および SecureConversation ポリシーを追加するには、次のステートメントを追加して Java Authentication and Authorization (JAAS) ログイン・ファイルへのパスを組み込みます。

    Windows オペレーティング・システムの場合:

    set JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf

    AIX、Linux、および z/OS などのオペレーティング・システムの場合:

    export JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf

    profile_root は、プロファイルが存在するサーバー・ディレクトリーです。以下に例を示します。
    set JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf

  4. クラス・パス・ステートメントを変更する。

    Windows オペレーティング・システムの場合:

    set CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.

    AIX、Linux、および z/OS などのオペレーティング・システムの場合:

    export CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.

    注: ピリオド (.) が、クラス・パス・ステートメントの末尾に組み込まれます。 ポリシー・セット・ロード・コードで META-INF ディレクトリーが検出できるように、ピリオドが組み込まれます。ピリオドを省略しないでください。

  5. <JAASLOGIN> と -DUSER_INSTALL_ROOT="<profile_root>" を Java コマンドに追加する。

    Windows オペレーティング・システムの場合:

    java %JAASLOGIN% -DUSER_INSTALL_ROOT= "<profile_root>" -cp "%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*

    AIX、Linux、および z/OS などのオペレーティング・システムの場合:

    java ${JAASLOGIN} -DUSER_INSTALL_ROOT="<profile_root>" -cp "${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient $@

  6. META-INF という名前のディレクトリー名を app_server_root/samples/bin/JaxWSServicesSamples ディレクトリー下に作成する。
  7. profile_root/config/cells/CELL_NAME/ ディレクトリー下の PolicySets ディレクトリーを app_server_root/samples/bin/JaxWSServicesSamples/META-INF ディレクトリーにコピーする。
  8. profile_root/config/cells/ CELL_NAME/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF ディレクトリーから app_server_root/samples/bin/JaxWSServicesSamples/META-INF ディレクトリーにバインディング・サブディレクトリーおよび clientPolicyAttachment.xml ファイルをコピーします。 バインディング・サブディレクトリーとその内容 (SecureConversationClientBinding または RAMP_client_default_bindings など) 全体をコピーしてください。
  9. 現行ディレクトリーを app_server_root/samples/bin/JaxWSServicesSamples に変更して、サンプルを実行します。