この章では次の項について説明します。
この項では、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サービスのテスト」ページに移動できます。この項では、一般的な方法の1つを説明します。
Webサービスをテストする手順
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスをテストするドメインを表示します。
ドメインを選択します。
「WebLogicドメイン」メニューから、「Webサービス」→「Webサービスのテスト」を選択します。「Webサービスのテスト」入力ページが表示されます。
テストするWebサービスのWSDLを入力して、「WSDL解析」をクリックします。WSDLがわからない場合、検索アイコンをクリックし、登録されているWebサービス(存在する場合)から選択します。
WSDLがHTTP Basic認証で安全性が確保されている場合は、WSDLを解析する前に「WSDLアクセスのためのHTTP Basic認証オプション」をクリックし、ユーザー名とパスワードを入力します。
図12-1に示すように、「Webサービスのテスト」ページが表示されます。デフォルトでは、テスト・オプションの各セクションは閉じています。
テストの対象となるサービスとポートを選択します。「WSDL」のサービスとポートが複数存在する場合、「サービス」および「ポート」の各フィールドはドロップダウン・メニューとして利用可能です。図12-1に示すように、「WSDL」のサービスとポートが1つのみの場合には、これらのフィールドは読取り専用となります。
テストの対象となる操作を「操作」メニューから選択します。使用可能な操作はWSDLにより決定されます。
RESTful Webサービスをテストするには、GETまたはPOSTサービス・ポート操作を選択します。
テストのエンド・ポイントURLを変更する場合は、「エンドポイントURL編集」をクリックして変更します。
選択されていない場合は、「リクエスト」タブを選択します。
セクション名の横にあるプラス記号(+)をクリックし、テスト・オプションの各セクションを開きます。図12-2は、「Webサービスのテスト」ページを開いたビューです。
「セキュリティ」セクションで、検証するセキュリティ・トークンを選択します。セキュリティ設定はWSDLのポリシーでは決定されないため、テストの対象となるトークンの型は自分で指定します。デフォルトは、「なし」です。選択したオプションに応じて、さらにフィールドが表示されます。ユーザー名とパスワードを指定する場合は、必ず、WebLogic Serverで既存かつ有効なものにしてください。詳細は、「認証の有効化」を参照してください。
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サービスのテスト」ページを使用して、ユーザー認証の際にユーザー名トークンを使用するポリシーをテストできます。
注意: このテスト機能では、ユーザー名とパスワードを必要とするポリシー(カスタム・ポリシーなど)のみがサポートされています。証明書やその他のトークンを必要とするポリシーはサポートされていません。メッセージ保護ポリシーを添付したWebサービスをテストする場合には、このページを使用できません。 |
WSDLのポリシーではセキュリティ設定は決定されないため、テストするトークンのタイプは自分で指定できます。デフォルトは「なし」です。ユーザー名とパスワードを指定する場合は、必ず既存のもので有効なものを指定してください。
パスワードはプレーン・テキストで渡す必要があります。ページの「セキュリティ」セクションのいずれかのオプションを選択すると、リクエストに認証資格証明が提供されます(図12-5)。次のいずれかを選択します。
WSSユーザー名トークン: WS-Security SOAPヘッダーが挿入されます。ユーザー名は必須ですが、パスワードはオプションです。
HTTP Basic認証: HTTPトランスポート・ヘッダーに、ユーザー名とパスワードの資格証明が挿入されます。ユーザー名およびパスワードの両方が必須です。
カスタム・ポリシー: カスタム・ポリシーは、ユーザーの認証に使用できます。ポリシーのURIを指定する必要があります。ユーザー名およびパスワードはオプションです。
なし: 資格証明は含まれません。
注意: RESTful Webサービスのテスト時には、SOAPプロトコルは使用されないため、セキュリティ・オプションはHTTP Basic認証またはなしのみです。 |
注意: この項の内容は、RESTful Webサービスのテスト時には適用されません。 |
「Webサービスのテスト」ページの「サービス品質」セクション(図12-6)で、サービス品質(QoS)の3つの特性、つまり、信頼できるメッセージング(WS-RM)、WS-Addressing、およびメッセージ伝送最適化(MTOM)をテストできます。各特性にはそれぞれ3つのオプションが用意されています。
WSDLデフォルト: WSDLのデフォルト動作が実行されます。たとえば、「MTOM」で「WSDLデフォルト」を選択し、かつMTOMポリシーの参照がWSDLに含まれている場合は、MTOMポリシーが実行されます。MTOMポリシーの参照がWSDLに含まれていない場合には、MTOMポリシーは実行されません。
なし: WSDLに含まれている場合でも、特定のQoSのポリシーは実行されません。たとえば、WS-RMに「なし」が選択されている場合、信頼できるメッセージング・ポリシーは実行されません。WSDLに信頼できるメッセージング・ポリシーへの参照が含まれている場合は、無視されます。
カスタム: カスタム・ポリシーを実行します。たとえば、WSDLでWS-Addressingポリシーが参照されている場合、このポリシーは無視されて、かわりに「URI」で指定したポリシーが使用されます。
URI: 実行対象となるポリシーの場所を指定します。
注意: この項の内容は、RESTful Webサービスのテスト時には適用されません。 |
テスト・メカニズムはWSDLを使用して、テストでSOAPアクションを使用可能にするかどうかを決定します。WSDLのsoap:operationにsoapAction属性が指定されている場合は、これが表示され、「SOAPアクションの有効化」が使用可能になります。
「SOAPアクションの有効化」を使用してリクエストが送信されると、SOAPアクションHTTPヘッダーが送信されます。
この動作を変更するには、「SOAPアクションの有効化」ボックスの選択を解除します。こうすると、HTTPヘッダーは送信されません。または、「SOAPアクション」フィールドに別の異なる値を入力し、この動作を無効にすることもできます(必ず、テスト対象のSOAPアクションとその構文を把握しておく必要があります)。
ストレス・テストの有効化チェックボックス(図12-8)を選択し、一連のWebサービス操作呼び出しを起動します(図12-8)。次のオプションを使用できます。
同時スレッド: この呼び出しを送信する同時スレッド数。デフォルトは5スレッドです。
スレッドごとのループ: 操作を呼び出す回数です。デフォルトは10回です。
ミリ秒単位の遅延: ある操作から次の操作を起動するまでに待機する時間(ミリ秒数)。デフォルトは1000ミリ秒(1秒)です。
テストを起動すると、進捗状況を示す枠内にテストのステータスが表示されます。負荷テストが完了すると、確認ページにテスト結果が表示されます。
「レスポンス」タブでは、不具合のあるテストの数、平均、最低および最大の各レスポンス時間などを含む負荷テストに関する追加情報が提供されます。各テストの詳細はタブ形式で提供されます。それぞれのテストについて、スレッド数やループ数、テスト時間の長さ、テストの開始時刻と終了時刻、および呼び出しのステータスを表示できます。「表示」メニューを使用すると、表の中に表示されたフィールドをフィルタできます。
注意: この項の内容は、Java EE Webサービスには該当していません。 |
Webサービスのテスト・ページを無効にすると、Webサービスを曝露するアプリケーションによる外部閲覧可能な詳細情報の漏洩を減らすことができるため、セキュリティが強化されます。
注意: 「エンドポイント・テストの有効化」コントロールを無効にしても影響があるのは、Webサービスの外部閲覧可能なテスト・ページのみです。この章で説明されているWebサービス・テストの機能には影響しません。 |
Fusion Middleware Controlを使用してテスト・ページを無効化する方法
「アプリケーションの「Webサービスのサマリー」ページへの移動」の説明に従って、「Webサービスのサマリー」ページに移動します。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポート名をクリックして「Webサービス・エンドポイント」ページに移動します。
「構成」タブをクリックします。
「エンドポイント・テストの有効化」フィールドで、リストから「False」を選択します。
「適用」をクリックします。