ヘッダーをスキップ

Oracle Application Server Web Services開発者ガイド
10g(10.1.3.1.0)

B31868-01
目次
目次
索引
索引

戻る 次へ

13 Webサービス・デプロイのテスト

この章では、JAX-RPCまたはRESTのWebサービスのデプロイをテストする方法について説明します。Webサービスの操作を起動できれば、Webサービスは正常にデプロイされています。テストを行うため、Oracle Application Server Web Servicesではテスト・ページが提供されています。Webサービス・テスト・ページを使用すると、次のタスクを実行できます。

次の各項では、Webサービス・テスト・ページにアクセスして使用する方法を詳しく説明します。

Webサービスの操作にアクセスしてテストする手順

次の手順では、JAX-RPCまたはRESTのWebサービスのテスト・ページの機能にアクセスして使用する方法について説明します。後の項では各ステップについてさらに詳しく説明します。

  1. Webサービス用テスト・ページにアクセスします。

    テスト・ページには、Application Server ControlまたはWebブラウザからアクセスできます。このステップの詳細は、「Webサービス・テスト・ページへのアクセス方法」を参照してください。

  2. 「操作」ドロップダウン・リストから、テストする操作を選択します。

  3. テストするWebサービス操作に対するパラメータ値を入力します。

    このステップの詳細は、「テスト・ページでの値の編集」を参照してください。

  4. (オプション)セキュリティおよび信頼性メッセージ機能を実行するためのパラメータ値を入力します(JAX-RPC Webサービスの場合のみ)。

    このステップの詳細は、「WS-Securityおよび信頼性メッセージ機能のテスト」を参照してください。

  5. (オプション)WebサービスにアクセスするためのHTTP認証の値を入力します。

    このステップの詳細は、「Webサービス・テストに対するHTTP認証の有効化」を参照してください。

  6. (オプション)ストレス・テストを有効にするためのパラメータを入力します。

    このステップの詳細は、「Webサービス操作のストレス・テスト」を参照してください。

  7. 「起動」ボタンをクリックして、サービス・エンドポイントにテスト・メッセージを送信します。

    JAX-RPCまたはRESTのWebサービスに対するリクエストは、SOAPリクエストとして起動できます。REST Webサービスの場合は、SOAPリクエスト、HTTP POST操作またはHTTP GET操作として起動できます。このステップの詳細は、「Webサービスのテストの起動」を参照してください。

Webサービス・テスト・ページへのアクセス方法

JAX-RPCまたはRESTのWebサービスに対するURIをWebブラウザに直接入力して、またはApplication Server Controlを使用して、テスト・ページにアクセスできます。

WebブラウザからのWebサービス・テスト・ページへのアクセス

JAX-RPCまたはRESTのWebサービスに対するテスト・ページに直接アクセスするには、サービス・エンドポイントのアドレスをWebブラウザに入力します。このアドレスの書式は、次のとおりです。

http://host:port/context-root/service

表13-1で、アドレスのコンポーネントについて説明します。

表13-1    テスト・ページにアクセスするためのURLコンポーネント 
URLコンポーネント  説明 

context-root 

Webサービスに関連するWebモジュールについて<context-root>要素に指定されている値。この値を確認するには、WebサービスのEARファイル内のMETA-INF/application.xmlを参照してください。 

host 

OracleAS Web Servicesを実行するWebサービスのサーバーのホスト名。 

port 

OracleAS Web Servicesを実行するWebサービスのサーバーのポート名。 

service 

Webサービスに関連するサーブレットについて<url-pattern>要素に指定されている値。これはサービス名です。この値を確認するには、WebサービスのWARファイル内のWEB-INF/web.xmlを参照してください。 

Application Server ControlからのWebサービス・テスト・ページへのアクセス

Application Server Controlを使用して、特定のJAX-RPCまたはREST Webサービスに対するテスト・ページにアクセスできます。次の手順は、テスト・ページに移動するためのツールの使用方法の概要です。詳細は、Application Server Controlのオンライン・ヘルプのWebサービス・ページに関するトピックを参照してください。

  1. Application Server Controlを開きます。

  2. 「OC4J: ホーム」ページの「Webサービス」タブをクリックします。

  3. Webサービスの表で、テストするWebサービス・アプリケーションとポートに対応する「選択」ラジオ・ボタンをクリックします。

  4. 「サービスのテスト」ボタンをクリックして、「Webサービスのテスト: port_name」ページを開きます。

    Enterprise Managerで「Webサービスのテスト」ページが表示され、現在の環境で定義されているWebサイトがリストされます。

  5. 「選択」ラジオ・ボタンをクリックして、Webサービスに対するWebサイト・リスナーを選択します。

    Enterprise Managerは、選択されたアプリケーションとWebサイトに対して定義されているコンテキスト・ルートに関する情報に基づいて、URLを生成します。「URL」フィールドにURLが表示されます。

  6. 「Webサービスのテスト」ボタンをクリックして、Webサービス・テスト・ページを開きます。

SSLで保護されたWebサービス・テスト・ページへのアクセス

Webサービス・テスト・ページがSSL(Secure Sockets Layer)で保護されている場合は、使用するためには追加の構成手順を実行する必要があります。手順は、OracleAS Web ServicesがOracle HTTP Serverで実行しているかどうかによって異なります。

次の各項では、SSLで保護されたテスト・ページにアクセスするために必要な変更を行う方法について説明します。

OracleAS Web Servicesがスタンドアロンで実行している場合のSSLで保護されたテスト・ページへのアクセス

OracleAS Web Servicesをスタンドアロン・アプリケーションとして実行している場合は、SSLで保護されたWebサービス・テスト・ページにアクセスするには次の手順に従います。

  1. インストールでopmn.xmlファイルを検索します。

    opmn.xmlファイルは次の場所にあります。

    ORACLE_HOME/opmn/conf/opmn.xml

    ORACLE_HOMEは、OracleAS Web Servicesをインストールしたディレクトリです。

    ファイルはすでにSSL用に構成されているものとします。

  2. opmn.xmlのOC4J start-parametersセクションに次のプロパティを追加し、ファイルを保存します。これらのプロパティの詳細は、表13-2を参照してください。これらのプロパティを使用しているopmn.xmlファイルのサンプルは、例13-1を参照してください。

    • -Djavax.net.ssl.trustStore=<OC4Jキーストア・ファイルのフルパス>

    • -Djavax.net.ssl.trustStorePassword=<OC4Jキーストアのパスワード>

    • -Djavax.net.ssl.keyStore=<OC4Jキーストア・ファイルのフルパス>

    • -Djavax.net.ssl.keyStorePassword=<OC4Jキーストアのパスワード>

  3. OPMNを再起動します。

    たとえば、次のコマンドは、すべてのOPMNプロセスを停止してから再起動します。

    prompt> opmnctl startall

  4. ブラウザにWebサービスのテスト・ページのURLを入力します。

  5. サービスをテストするための値を入力し、「起動」ボタンをクリックします。

予想されるSOAPメッセージのレスポンスを受け取ります。

表13-2は、キーストアとトラストストアについてOracle HTTPSがサポートするプロパティです。

表13-2    キーストアとトラストストアのプロパティ 
プロパティ名  説明 

javax.net.ssl.keyStore 

キーストアとして使用するキーストア・ファイルまたはウォレット・ファイルの場所と名前を指定します。

このプロパティを設定することで、特定の接続に対して使用する資格証明を含む、Oracle Wallet Managerからエクスポートされたテキスト・ウォレット・ファイルを示すことができます。

HTTPS接続に対して他の資格証明が設定されていない場合は、最初のハンドシェークが行われるときに、このプロパティで示されているファイルが開かれます。このファイルの読取りでエラーが発生すると、接続は失敗し、IOExceptionがスローされます。

このプロパティが設定されていない場合は、アプリケーションが、証明書チェーンに信頼できる証明書が含まれることを確認する必要があります。 

javax.net.ssl.keyStorePassword 

このプロパティを設定することで、キーストア(キーストア・ファイルまたはウォレット・ファイル)を開くために必要なパスワードを示すことができます。 

javax.net.ssl.trustStore 

このプロパティはjavax.net.ssl.keyStoreと同じように使用しますが、トラストストア(クライアントが暗黙的に受け入れる信頼できる認証局を含むファイル)として使用するキーストア・ファイルまたはウォレット・ファイルの場所と名前を指定します。 

javax.net.ssl. 

このプロパティはjavax.net.ssl.keyStorePasswordと同じように使用しますが、トラストストア(キーストア・ファイルまたはウォレット・ファイル)を開くために必要なパスワードを指定します。 

例13-1は、キーストアおよびトラストストア・プロパティを含むopmn.xmlファイルのフラグメントを示しています。この例で、<ias-component id="default-group">はOC4J開始パラメータ・セクションの開始位置を示しています。

例13-1    キーストアとトラストストアのプロパティを含むopmn.xmlのフラグメント

<opmn>
 ...
  <ias-component id="default-group">
   <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
      <category-id="start-parameters">
        <data-id="java-options" value=".. -Djavax.net.ssl.trustStore=<full path to OC4J 
keystore file>, -Djavax.net.ssl.trustStorePassword=<OC4J keystore password>, 
-Djavax.net.ssl.keyStore=<full path to OC4J keystore file>, 
-Djavax.net.ssl.keyStorePassword=<OC4J keystore password>, ...>
      </category>
       ...
    </module-data>
   </process-type>
  </ias-component>
 ...
</opmn>

OracleAS Web ServicesがOracle HTTP Server上で実行している場合のSSLで保護されたテスト・ページへのアクセス

OracleAS Web ServicesをOracle HTTP Server上で実行している場合は、SSLで保護されたWebサービス・テスト・ページにアクセスするには次の手順に従います。


注意

この例では、Oracle Wallet ManagerとJava keytoolユーティリティを使用して、証明書のエクスポートとインポートを行います。これらのユーティリティの使用方法については、このマニュアルでは説明しません。詳細は、次の資料を参照してください。

  • Oracle Wallet Managerについては、『Oracle Database Advanced Security管理者ガイド』のOracle Wallet Managerの使用方法に関する項を参照してください。このマニュアルは、Oracle Server Technologiesグループから入手できます。

  • Java keytoolユーティリティについては、次のWebサイトで「keytool - Key and Certificate Management Tool」を参照してください。

    http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html

 

  1. インストールでopmn.xmlファイルを検索します。

    opmn.xmlファイルは次の場所にあります。

    ORACLE_HOME/opmn/conf/opmn.xml

    ORACLE_HOMEは、OracleAS Web Servicesをインストールしたディレクトリです。

    ファイルはすでにSSL用に構成されているものとします。

  2. opmn.xmlOC4J start-parametersセクションに次のプロパティを追加し、ファイルを保存します。これらのプロパティについては、前の項の表13-2を参照してください。これらのプロパティを使用しているopmn.xmlファイルのサンプルは、例13-1を参照してください。

    • -Djavax.net.ssl.trustStore=<OC4Jキーストア・ファイルのフルパス>

    • -Djavax.net.ssl.trustStorePassword=<OC4Jキーストアのパスワード>

    • -Djavax.net.ssl.keyStore=<OC4Jキーストア・ファイルのフルパス>

    • -Djavax.net.ssl.keyStorePassword=<OC4Jキーストアのパスワード>

  3. Oracle Wallet Managerを使用して、Oracle HTTP Serverのウォレット・ファイルからユーザー証明書をエクスポートします。

    Oracle Wallet Managerは次の場所にあります。

    ORACLE_HOME/bin/owm

    次はウォレット・ファイルのパスの例です。

    ORACLE_HOME/Apache/Apache/conf/ssl.wlt/default/ewallet.p12

    証明書のエクスポート方法は、Oracle Wallet Managerのマニュアルを参照してください。

  4. Java keytoolユーティリティを使用して、証明書をOC4Jキーストアに信頼できる証明書としてインポートします。

  5. OPMNを再起動します。

    たとえば、次のコマンドは、すべてのOPMNプロセスを停止してから再起動します。

    prompt> opmnctl startall

  6. ブラウザにWebサービスのテスト・ページのURLを入力します。

  7. サービスをテストするための値を入力し、「起動」ボタンをクリックします。

予想されるSOAPメッセージのレスポンスを受け取ります。

Webサービス・テスト・ページの使用方法

Oracle Application Server Web Servicesでは、デプロイされたWebサービスごとにテスト・ページが提供されます。テスト・ページを使用すると、JAX-RPC WebサービスまたはRESTサービスで公開されている操作を実行できます。

図13-1は、HelloServiceEJB JAX-RPC WebサービスのsayHello操作に対するWebサービス・テスト・ページです。

図13-1    Webサービス・テスト・ページ


画像の説明

WebサービスWSDLの表示

JAX-RPCまたはREST WebサービスのWSDLを表示するには、「Service Description」リンクをクリックします。Webブラウザの「ファイル」→「名前を付けて保存」操作を使用して、WSDLをローカルに保存できます。

テスト・ページに戻るには、「戻る」ボタンをクリックします。

図13-2は、JAX-RPC WebサービスのWSDLのフラグメントです。

図13-2    JAX-RPC WebサービスのWSDLフラグメント


画像の説明

図13-3は、REST WebサービスのWSDLのフラグメントです。

図13-3    REST WebサービスのWSDLフラグメント


画像の説明

テスト・ページでの値の編集

テスト・ページでは、JAX-RPCまたはREST Webサービスで公開されている操作をテストできます。デフォルトでは、操作の編集可能なパラメータと属性がHTML形式で表示されます。フォーム上のオプションのパラメータと属性は、チェック・ボックスで示されます。パラメータに値を設定するには、チェック・ボックスを選択します。


注意

HTMLフォームで属性とパラメータを区別するために、属性の前には「@」記号が付いています。 


テストするWebサービス操作を選択するには、「操作」ドロップダウン・リストを使用します。

フォームの「+」リンクは、構造のコピーを追加できることを示します。

フォームの「X」リンクは、不要な構造のコピーを削除できることを示します。

XMLソースとしてのテスト・ページの編集方法

JAX-RPCまたはREST Webサービス操作に対する値をHTMLフォームで入力するかわりに、XMLソース・コードに直接入力できます。そのためには、テスト・ページで「XMLソース」ラジオ・ボタンを選択します。


注意

  • XMLソースに値を入力する場合は、属性の前に@記号を付ける必要はありません。

  • XMLソースで操作に対する値を入力して、HTMLフォーム・モードに切り替えた場合、入力した値は保持されません。フォームは、すべての値がクリアされて表示されます。

 

WS-Securityおよび信頼性メッセージ機能のテスト

セキュリティおよび信頼性に対する値を変えて、JAX-RPC Webサービス操作を起動できます。これらのパラメータを公開するには、「信頼できるメッセージング」および「WSセキュリティ」の隣のノードを展開します。


注意

OracleAS Web Servicesによって実装されるREST Webサービスは、セキュリティまたは信頼性の機能をサポートしていません。REST Webサービスのリクエストに対してセキュリティまたは信頼性のオプションを指定した場合は、無視されます。  


図13-4は、HTMLフォームでのセキュリティおよび信頼性に対するパラメータとデフォルト値を示しています。

ヒント

パラメータに値を指定した後、「XMLソース」ラジオ・ボタンをクリックすると、SOAPリクエストに挿入された信頼性およびセキュリティのヘッダーを確認できます。 

図13-4    テスト・ページでのWS-Securityおよび信頼性メッセージ・コンポーネント


画像の説明

信頼できるメッセージのパラメータ

信頼性機能をテストに含めることを示すには、「信頼できるメッセージング」ノードを展開します。信頼性SOAPヘッダーがリクエストのSOAPエンベロープに挿入されます。

次のパラメータの設定を変更できます。

WS-Securityのパラメータ

セキュリティ機能をテストに含めることを示すには、「WSセキュリティ」チェック・ボックスを選択します。セキュリティSOAPヘッダーがSOAPエンベロープに挿入されます。

次のパラメータの設定を変更できます。

Webサービス・テストに対するHTTP認証の有効化

「トランスポート情報の表示」ノードを展開すると、JAX-RPCまたはREST Webサービスに対するHTTP認証オプションが表示されます。テストしているHTTPサービスがパスワードで保護されている場合は、「トランスポート情報の表示」の下のパラメータを使用すると、ユーザー名とパスワードを提供できるようになります。SOAPリクエストに対する特殊なフィルタを提供する必要のあるサービスの場合は、「SOAPアクション」に値を指定できます。

図13-5は、テスト・ページの「トランスポート情報の表示」パラメータです。

図13-5    テスト・ページでのHTTP認証およびストレス・テストのパラメータ


画像の説明

Webサービス操作のストレス・テスト

「ストレス・テストの実行」ノードを展開すると、JAX-RPCまたはREST Webサービス操作の連続的な一連の起動を作成および構成するためのオプションが表示されます。「ストレス・テストの実行」のオプションは図13-5に示されています。

テストを起動すると、ストレス・レポート・ページが返されます。レポート・ページでは、テストされたサービス・エンドポイントと操作、送信されたメッセージのサイズ、実行された同時スレッドの数、スレッドごとの実行回数および各操作起動の間の遅延が示されます。図13-6は、サンプルのストレス・テスト・レポートのフラグメントです。

図13-6    サンプルのストレス・テスト・レポート


画像の説明

Webサービスのテストの起動

操作でテストするパラメータ値と機能を指定したなら、Webサービス・エンドポイントにメッセージを送信できます。JAX-RPC Webサービスの場合は、メッセージはSOAPリクエストとしてサービスに送信されます。REST Webサービスの場合は、SOAPリクエスト、XML REST GET操作またはPOST操作のいずれかとしてメッセージを送信できます。

JAX-RPC Webサービスのテストの起動

SOAPリクエストとしてJAX-RPC Webサービス・エンドポイントにメッセージを送信するには、「起動」ボタンをクリックします。テスト・ページにサービスからのレスポンスが表示されます。レスポンスは、書式設定されたXML(デフォルト)またはRAW XML(ワイヤ書式)で表示できます。

図13-7    JAX-RPC Webサービスからのレスポンス


画像の説明

REST Webサービスのテストの起動

REST Webサービス用のテスト・ページでは、XML REST POST操作またはGET操作としてRESTサービスにテスト・メッセージを送信できます。さらに、OracleAS Web Servicesでは、SOAPリクエストとしてメッセージを送信することもできます。

テスト・ページにある次のボタンを使用して、テスト・メッセージに対するWebサービス操作を起動できます。

図13-8は、RESTに対応したWebサービス操作用のテスト・ページです。

図13-8    REST Webサービス操作用のテスト・ページ


画像の説明

起動

HTTP経由でSOAPメッセージとしてサービスにXML RESTリクエストを送信するには、「起動」ボタンをクリックします。サービスは、SOAPレスポンス・メッセージをテスト・ページ・アプリケーションに戻します。レスポンスは、書式設定されたXML(デフォルト)またはRAW XML(ワイヤ書式)で表示できます。

図13-9は、書式設定されたXMLで表示されたREST WebサービスからのSOAPレスポンスです。

図13-9    書式設定されたXMLのSOAPメッセージとして表示されたRESTサービスからのレスポンス


REST POSTの起動

REST Webサービスにメッセージを送信するには、テスト・ページの「REST POSTの起動」をクリックします。レスポンスがテスト・ページ・アプリケーションに戻されます。レスポンスは、書式設定されたXML(デフォルト)またはRAW XML(ワイヤ書式)で表示できます。


注意

  • OracleAS Web Servicesによって実装されるREST Webサービスは、セキュリティまたは信頼性の機能をサポートしていません。REST Webサービス・リクエストにこれらのオプションを指定した場合は、無視されます。

  • REST Webサービスのレスポンスには、SOAPのEnvelope要素またはBody要素は含まれません。

 

図13-10は、REST POST操作からのREST Webサービス・レスポンスです。

図13-10    書式設定されたXMLでのREST POST操作からのレスポンス


REST GETの起動

WebブラウザでのHTML GETコマンドとしてサービスにリクエストを送信するには、テスト・ページの「REST GETの起動」をクリックします。レスポンスは、テスト・ページ・アプリケーションではなくブラウザに表示されます。


注意

  • OracleAS Web Servicesによって実装されるREST Webサービスは、セキュリティまたは信頼性の機能をサポートしていません。REST Webサービス・リクエストにこれらのオプションを指定した場合は、無視されます。

  • REST Webサービスのレスポンスには、SOAPのEnvelope要素またはBody要素は含まれません。

 

図13-11は、REST GET操作からのREST Webサービス・レスポンスです。

図13-11    REST GET操作からのレスポンス


画像の説明

Webサービス・テスト・ページを無効にする方法

テスト・ページを無効にすることで、Webサービスを公開するアプリケーションの詳細が外部から見られにくくなり、セキュリティが向上します。

テスト・ページを無効にするための一般的な手順は、次のとおりです。

  1. デプロイの前に、JARファイルからoracle-webservices.xmlデプロイメント・ディスクリプタを抽出します。

  2. デプロイメント・ディスクリプタの<webservice-description>セクションに、falseに設定したブール型要素<expose-testpage>を挿入します。

    例13-2は、この手順を示したものです。

  3. 編集済のoracle-webservices.xmlデプロイメント・ディスクリプタで、JARファイルを置き換えます。

  4. 通常どおりJARファイルをデプロイします。


    注意

    ddFileNameコマンドでデプロイメント・ディスクリプタを渡してWebサービスを再アセンブルすると、このエントリは上書きされます。 


例13-2は、テスト・ページを無効にしたoracle-webservices.xmlデプロイメント・ディスクリプタのフラグメントです。

例13-2    oracle-webservices.xmlファイルでのWebサービス・テスト・ページの無効化

<oracle-webservices>
  ...
  <webservice-description name="with-test-page-blocked">
    <expose-testpage>false</expose-testpage>
     ...
   </webservice-description>
</oracle-webservices>

WebサービスのWSDLを直接取得する方法

Webサービス・テスト・ページを使用しないでWebサービスのWSDLファイルを取得する場合は、直接取得できます。

WSDLを取得するには、WebサービスのURLを使用して問合せ文字列を追加します。WSDLサービス記述を取得するためのURLの書式は、次のとおりです。

http://host:port/context-root/service?WSDL

WSDLは大文字でも小文字でもかまいません。URLコンポーネントの詳細は、表13-1を参照してください。

このURLでは、WSDL記述がservice.wsdlの形式で戻されます。service.wsdlの記述には、指定したURLにあるWebサービスserviceのWSDLが含まれています。このWSDLを使用すると、そのWebサービスにアクセスするクライアント・アプリケーションを作成できます。

制限事項

「Webサービス・デプロイのテスト」を参照してください。

追加情報

Webサービス・テスト・ページを使用できるWebサービスの詳細は、次の章を参照してください。

Web Services SecurityおよびWeb Services Reliabilityの詳細は、次のマニュアルを参照してください。


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引