この章では次の項について説明します。
この項では、Fusion Middleware Controlの「Webサービスのテスト」ページを使用して、Webサービスから想定どおりの結果を受信できるかどうかを確認する方法について説明します。
「Webサービスのテスト」ページでは、Webサービスで公開されている任意の操作をテストすることができます。任意のアクセス可能なホストにデプロイされたWebサービスをテストできます。Webサービスをこのホストにデプロイする必要はありません。
注意: 「Webサービスのテスト」ページでは、ASCII文字のみを含むWSDL URLを解析できます。URLに非ASCII文字が含まれている場合、解析操作は失敗します。URLに非ASCII文字が含まれているWebサービスをテストするには、ブラウザでWSDL URLを変換できるようにし、エンコードされたWSDL URLを「Webサービスのテスト」ページで使用します。ポリシーを使用するWebサービスをテストする場合、Fusion Middleware Controlを実行しているドメインと同じドメインにOracle WSMコンポーネントをインストールする必要があります。そうしないと、無効なポリシー例外が返されます。 |
様々な方法で「Webサービスのテスト」ページに移動できます。この項では、一般的な2つの方法について説明します。
Webサービスをテストする手順
一般的な次のどちらかの方法を使用して、「Webサービスのテスト」ページにアクセスします。
Oracle WebLogic Serverドメインのホーム・ページから操作を行う場合
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスをテストするドメインを表示します。
ドメインを選択します。
「WebLogicドメイン」メニューから、「Webサービス」→「Webサービスのテスト」を選択します。「Webサービスのテスト」入力ページが表示されます。
テストするWebサービスのWSDLを入力します。WSDLがわからない場合、検索アイコンをクリックし、登録されているWebサービス(存在する場合)から選択します。
「WSDL解析」をクリックします。
WSDLがHTTP Basic認証で保護されている場合は、「WSDLアクセスのためのHTTP Basic認証オプション」をクリックし、WSDL解析の前にユーザー名とパスワードを入力します。
図12-1に示すような完全な「Webサービスのテスト」ページが表示されます。
Webサービス・アプリケーションのホーム・ページから操作を行う場合
ナビゲータ・ペインで、「アプリケーションのデプロイ」を開き、ドメイン内のアプリケーションを表示します。
Webサービスがテストされるアプリケーションを選択します。
ページの「Webサービス」セクションで、テストするWebサービス・エンドポイントの「テスト」をクリックします。
図12-1に示すように、Webサービスのテスト・ページが表示されます。WSDLフィールドには、エンドポイントのWSDLが自動的に移入されます。
「WSDL解析」をクリックします。
WSDLがHTTP Basic認証で保護されている場合は、「WSDLアクセスのためのHTTP Basic認証オプション」をクリックし、WSDL解析の前にユーザー名とパスワードを入力します。
「Webサービスのテスト」ページを図12-1に示します。デフォルトでは、テスト・オプションのセクションは折りたたまれて表示されます。
テストするサービスとポートを選択します。WSDLに複数のサービスとポートがある場合は、これらのフィールドがドロップダウン・メニューとして表示されます。WSDLのサービスとポートが1つのみの場合は、図12-1に示すように、これらのフィールドは読取り専用です。
「操作」メニューからテストする操作を選択します。使用可能なオプションはWSDLにより決定されます。
RESTful Webサービスをテストするには、GETまたはPOSTサービス・ポート操作を選択します。
テストのエンド・ポイントURLを変更する場合は、「エンドポイントURLの編集」をクリックして変更を行います。
選択されていない場合は、「リクエスト」タブを選択します。
セクション名の横のプラス記号(+)をクリックして、テスト・オプションのセクションを開きます。展開表示の「Webサービスのテスト」ページを図12-2に示します。
「セキュリティ」セクションで、WebサービスのテストでOracle WSMセキュリティ・ポリシー、HTTP Basic認証またはカスタム・ポリシーの認証を使用するか、あるいは資格証明を使用しないかを指定します。WSDLのポリシーではセキュリティ設定は決定されないため、テストするセキュリティのタイプを指定できます。デフォルトは「なし」です。選択したオプションに応じて、追加のフィールドが表示されます。使用可能なオプションの詳細は、「セキュリティ・テストの有効化」を参照してください。
RESTful Webサービスのテスト時には、SOAPプロトコルは使用されないため、セキュリティ・オプションはHTTP Basic認証またはなしのみです。
「サービスのクオリティ」セクションで、信頼できるメッセージング(WS-RM)、WS-AddressingまたはMTOMポリシーを明示的にテストするかどうかを指定します。使用可能なオプションの詳細は、「サービスのクオリティ・テストの有効化」を参照してください。
注意: この項の内容は、RESTful Webサービスのテスト時には使用できません。 |
HTTPトランスポートセクションでは、テスト・メカニズムはWSDLを使用して、テストでSOAPアクションを使用可能にするかどうかを決定します。使用可能な場合は、SOAPアクションHTTPヘッダーを使用してリクエストを送信するかどうかを指定します。詳細は、「HTTPトランスポート・オプションの有効化」を参照してください。
注意: この項の内容は、RESTful Webサービスのテスト時には使用できません。 |
Webサービスを同時に複数回起動する場合は、「追加テスト・オプション」セクションでストレス・テストの有効化オプションを選択します。このオプションを設定すると、ストレス・テストのオプションに値を入力することも、デフォルトをそのまま使用することもできるようになります。詳細は、「Webサービス操作のストレス・テスト」を参照してください。
「引数の入力」セクションでは、Webサービスの入力引数を「値」フィールドに入力します。パラメータとタイプおよび要求される入力値は、WSDLにより決定されます。
「ツリー表示」または「XML表示」を選択して、入力パラメータの階層リストとXMLコンテンツの階層リストを切り替えます。
「Webサービスのテスト」をクリックしてテストを開始します。
テストを終了すると、「レスポンス」タブに結果が表示されます。
テストが成功すると、図12-3に示すように、「テストのステータス」フィールドに「リクエストは正常に受信されました。」と表示され、レスポンス時間が表示されます。
注意: SOAコンポジット・テストを実行すると、新規コンポジットが生成されたかどうかが「レスポンス」タブに示されます。「フロー・トレースの起動」ボタンをクリックして、「フローのトレース」ウィンドウを開くこともできます。このウィンドウでは、様々なコンポジットおよびコンポーネント・インスタンスを介したメッセージのフローを表示できます。 |
テストが失敗すると、エラー・メッセージが表示されます。たとえば、図12-4には、var-Intパラメータのタイプ・エラーが原因のエラーが表示されています。この例の場合には、intが必要な状況でstringデータが入力されました。
注意: レスポンスタブの結果は、標準Webサービス結果の簡易バージョンです。 |
入力引数は、ユーザーにわかりやすい形式で表示できます。また、XMLソース・コードを直接編集できます。XMLソースを直接編集する場合は、有効なXMLを入力する必要があります。ツリー表示とXML表示を切り替えるには、ページの「引数を入力」セクションのドロップダウン・リストを使用します。
「Webサービスのテスト」ページでは、Oracle WSMセキュリティ・ポリシー、HTTP Basic認証またはカスタム・ポリシーを使用してWebサービスのセキュリティをテストできます。ページの「セキュリティ」セクション内のいずれかのオプションを選択することによって、テストのタイプを選択できます。
WSDLのポリシーではセキュリティ設定は決定されないため、テストするセキュリティのタイプを指定できます。デフォルトは「なし」です。
使用できるオプションは次のとおりです。以降の項で、その詳細を説明します。
OWSMセキュリティ・ポリシー: Oracle WSMセキュリティ・ポリシーによる認証およびメッセージ保護に必要な資格証明やその他のセキュリティ・オプションを使用します。
HTTP Basic認証: ユーザー名およびパスワードの資格証明をHTTPトランスポート・ヘッダーに挿入します。ユーザー名およびパスワードの両方が必須です。
ユーザー名とパスワードを指定する場合は、存在していて有効なものを指定する必要があります)。
拡張: カスタム・ポリシーを使用してユーザーを認証します。ポリシーのURIを指定する必要があります。構成のオーバーライドも指定できます。
なし - 資格証明は含まれません。
注意: RESTful Webサービスのテスト時には、SOAPプロトコルは使用されないため、セキュリティ・オプションはHTTP Basic認証またはなしのみです。 |
OWSMセキュリティ・ポリシー
「OWSMセキュリティ・ポリシー」を選択すると表示されるオプションを、図12-5に示します。この図では、「拡張オプション」フィールドが選択されているために、使用可能なすべてのフィールドが表示されています。
Oracle WSMセキュリティ・ポリシーを使用してWebサービスのセキュリティをテストする手順は、次のとおりです。
WSDLで指定されている、互換性があるクライアント・ポリシーの一覧が表示される「互換性のあるクライアント・ポリシー」で、テストするクライアント・ポリシーを選択します。
または、エンドポイントでネガティブ・テストを実行するには、「その他のクライアント・ポリシー」リストから、互換性のないポリシーまたは「すべて」を選択します。
注意: セキュリティ・ポリシーでないもの、およびテスト機能でサポートされていないポリシーは、読取り専用で表示され、選択できません。テスト機能でサポートされるクライアント・ポリシーのリストについては、「サポートされるクライアント・セキュリティ・ポリシー」を参照してください。複数のセキュリティ・ポリシーをサポートするサービス・ポリシーは、テスト機能でサポートされません。 |
選択したポリシーで必須の構成プロパティは、アスタリスク(*)付きで表示されます。たとえば、次のようにします。
username_tokenおよびhttp_tokenポリシーの場合、「ユーザー名」と「パスワード」フィールドは必須です。SAMLポリシーの場合、「ユーザー名」フィールドのみ必須です。
メッセージ保護ポリシーおよび双方向SSLポリシーの場合、「JKSキーストア・ロケーション」フィールドと「JKSキーストア・パスワード」フィールドは必須です。(一方向SSLポリシーの場合は、これらのフィールドを設定する必要はありません。)
ポリシーが必須と判断したフィールドに値を入力します。
「JKSキーストア・ロケーション」フィールドおよび「JKSキーストア・パスワード」フィールドがポリシーによって要求される場合、NFSがアクセス可能な一時ユーザーが作成したキーストアの場所とパスワードを入力し、「キーのロード」をクリックします。「拡張オプション」の下にある関連するキーストア・フィールドに、キーストアで指定されている別名が移入されます。
キーストアの作成の詳細は、「秘密鍵の生成およびJavaキーストアの作成」を参照してください。
「拡張オプション」をクリックします。追加のキーストア別名およびSAMLプロパティのフィールドが表示されます。選択したポリシーで必須のプロパティは、アスタリスク付きで表示されます。該当のフィールドに必要な値を入力するか、オーバーライド値を入力します。
HTTP Basic認証
このオプションでは、HTTPトランスポート・ヘッダーに挿入されたユーザー名およびパスワード資格証明が必要です。ユーザー名とパスワードは存在していて、WebLogic Serverで有効である必要があります。
拡張
「拡張」を選択すると表示されるオプションを、図12-6に示します。
「拡張」オプションでは、カスタム・ポリシーを使用してWebサービスのセキュリティをテストできます。これを行うには、次の手順を実行します。
カスタム・ポリシーのURIは、「ポリシーURI」フィールドで指定します。このフィールドは必須です。
「名前」と「値」フィールドに、ポリシー構成のオーバーライドを指定します。プロパティを追加するには、「追加」をクリックして、構成をオーバーライドする名前と値のペアを指定します。プロパティを削除するには、表内のプロパティを選択して、「削除」をクリックします。
注意: プロパティの指定には、各プロパティの完全名を使用する必要があります。たとえば、oracle.wsm.security.util.SecurityConstants.ClientConstants.WSS_KEYSTORE_LOCATION のように指定します。オーバーライド可能なプロパティのプロパティ名のリストについては、「クライアントのプログラムによる構成オーバーライドの使用」の表11-2を参照してください。 |
テスト機能では次のOracle WSMクライアント・セキュリティ・ポリシーがサポートされます。
oracle/wss_http_token_client_policy
oracle/wss_http_token_over_ssl_client_policy
oracle/wss_saml_token_bearer_over_ssl_client_policy
oracle/wss_saml_token_over_ssl_client_policy
oracle/wss_saml20_token_bearer_over_ssl_client_policy
oracle/wss_saml20_token_over_ssl_client_policy
oracle/wss_username_token_client_policy
oracle/wss_username_token_over_ssl_client_policy
oracle/wss10_message_protection_client_policy
oracle/wss10_saml_token_with_message_integrity_client_policy
oracle/wss10_saml_token_with_message_protection_client_policy
oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy
oracle/wss10_saml20_token_with_message_protection_client_policy
oracle/wss10_username_id_propagation_with_msg_protection_client_policy
oracle/wss10_username_token_with_message_protection_client_policy
oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy
oracle/wss10_x509_token_with_message_protection_client_policy
oracle/wss11_message_protection_client_policy
oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy
oracle/wss11_saml_token_with_message_protection_client_policy
oracle/wss11_saml20_token_with_message_protection_client_policy
oracle/wss11_username_token_with_message_protection_client_policy
oracle/wss11_x509_token_with_message_protection_client_policy
注意: この項の内容は、RESTful Webサービスのテスト時には適用されません。 |
「Webサービスのテスト」ページの「サービスのクオリティ」セクション(図12-7)では、サービスのクオリティ(QoS)の信頼できるメッセージング(WS-RM)、WS-AddressingおよびMessage Transmission Optimization Mechanism(MTOM)という3つの特性をテストできます。サービスのクオリティの各タイプには、3つのオプションがあります。
WSDLデフォルト: WSDLのデフォルト動作を実行します。たとえば、「MTOM」に「WSDLデフォルト」が選択され、WSDLにMTOMポリシーへの参照が含まれている場合は、そのポリシーが実行されます。WSDLにMTOMポリシーへの参照が含まれない場合は、MTOMポリシーは実行されません。
なし - WSDLに含まれている場合でも、特定のQoSのポリシーは実行されません。たとえば、WS-RMに「なし」が選択されている場合、信頼できるメッセージング・ポリシーは実行されません。WSDLに信頼できるメッセージング・ポリシーへの参照が含まれている場合は、無視されます。
カスタム - カスタム・ポリシーが実行されます。たとえば、WS-AddressingポリシーがWSDL内で参照されている場合、このポリシーは無視され、かわりに「URI」フィールドで指定されたポリシーが使用されます。
URI: ポリシーが実行される場所を指定します。
注意: この項の内容は、RESTful Webサービスのテスト時には適用されません。 |
テスト・メカニズムはWSDLを使用して、テストでSOAPアクションを使用可能にするかどうかを決定します。WSDLのsoap:operationにsoapAction属性が指定されている場合、これが表示され、「SOAPアクションの有効化」が有効にされています。
「SOAPアクションの有効化」が選択された状態でリクエストが送信されると、SOAPアクションHTTPヘッダーが送信されます。
この動作を変更するには、「SOAPアクションの有効化」ボックスの選択を解除します。その場合、HTTPヘッダーは送信されません。または、「SOAPアクション」フィールドに異なる値を入力することによって、この動作をオーバーライドできます。(必ず、テスト対象のSOAPアクションとその構文を把握しておく必要があります)。
Webサービス操作の連続した呼出しを起動するには(図12-9)、ストレス・テストの有効化チェック・ボックスを選択します(図12-9)。次のオプションがあります。
同時スレッド: 起動を送信する同時スレッド数。デフォルトは5スレッドです。
スレッドごとのループ: 操作を起動する回数。デフォルトは10回です。
ミリ秒単位の遅延 - ある操作から次の操作を起動するまでに待機する時間(ミリ秒数)。デフォルトは1000ミリ秒(1秒)です。
テストを起動すると、進捗ボックスにテストのステータスが表示されます。ストレス・テストが完了すると、確認ページにテストの結果が表示されます。
「レスポンス」タブには、エラーが発生したテスト数、レスポンス時間の平均値、最小値および最大値など、ストレス・テストに関する追加情報が表示されます。各テストの詳細は、表形式で示されます。各テストについて、スレッド数、ループ数、テスト時間、テストの開示時刻と終了時刻、および呼出しステータスを表示できます。表に表示されたフィールドは、「表示」メニューを使用してフィルタリングできます。
注意: この項の内容は、Java EE Webサービスには該当しません。 |
Webサービスのテスト・ページを無効化すると、Webサービスを公開するアプリケーションの、外部から参照可能な詳細が少なくなり、セキュリティが強化されます。
注意: 「エンドポイント・テストの有効化」コントロールの無効化は、Webサービスの外部から参照可能なテスト・ページにのみ影響します。この章で説明されているWebサービス・テストの機能には影響しません。 |
Fusion Middleware Controlを使用してテスト・ページを無効化する方法
「アプリケーションの「Webサービスのサマリー」ページへの移動」の説明に従って、Webサービスのサマリー・ページに移動します。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポート名をクリックして「Webサービス・エンドポイント」ページに移動します。
「構成」タブをクリックします。
「エンドポイント・テストの有効化」フィールドで、リストから「False」を選択します。
「適用」をクリックします。