この章では次の項について説明します。
この項では、Fusion Middleware Controlの「Webサービスのテスト」ページを使用して、Webサービスから想定どおりの結果を受信できるかどうかを確認する方法について説明します。
「Webサービスのテスト」ページでは、Webサービスで公開されている任意の操作をテストすることができます。アクセス可能なホストにデプロイされたWebサービスをテストできます。Webサービスをこのホストにデプロイする必要はありません。
注意: 「Webサービスのテスト」ページでは、ASCII文字のみを含むWSDL URLを解析できます。URLに非ASCII文字が含まれている場合、解析操作は失敗します。URLに非ASCII文字が含まれているWebサービスをテストするには、ブラウザでWSDL URLを変換できるようにし、エンコードされたWSDL URLを「Webサービスのテスト」ページで使用します。 |
様々な方法で「Webサービスのテスト」ページに移動できます。この項では、一般的な方法の1つを説明します。
Webサービスをテストする手順
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスをテストするドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「Webサービスのテスト」をクリックします。「Webサービスのテスト」入力ページが表示されます。
テストするWebサービスのWSDLを入力して、「WSDL解析」をクリックします。WSDLがわからない場合、検索リンクをクリックし、登録されているWebサービス(存在する場合)から選択します。
テスト中に実行する操作を「操作」コントロールから選択します。使用可能なオプションはWSDLにより決定されます。
テストのエンド・ポイントURLを変更する場合は、「編集」をクリックして変更を行います。
選択されていない場合は、「リクエスト」タブを選択します。
「セキュリティ」セクションで、検証するセキュリティ・トークンのタイプを選択します。WSDLのポリシーではセキュリティ設定は決定されないため、テストするトークンのタイプを指定できます。デフォルトは「なし」です。ユーザー名とパスワードを指定する場合は、存在していて、WebLogic Serverで有効なものを指定する必要があります。
「サービスのクオリティ」セクションで、信頼できるメッセージング、WS-AddressingまたはMTOMポリシーを明示的にテストするかどうかを指定します。
デフォルト設定の「自動」では、WSDLで検出されるWS-RM、WS-AddressingおよびMTOMポリシーが候補になります。
「HTTPトランスポート・オプション」セクションでは、テスト・メカニズムでWSDLが使用され、テストでSOAPアクションを使用可能にするかどうかが決定されます。
Webサービスを同時に複数回起動する場合は、「追加テスト・オプション」セクションで「ストレス・テスト」コントロールを設定します。このコントロールを設定すると、ストレス・テストのオプションに値を入力することも、デフォルトをそのまま使用することもできるようになります。
「引数を入力」セクションでは、WSDLによりパラメータおよびタイプが決定され、適切なタイプの値の入力が必要になります。
このセクションは、ツリー表示することもXML表示することも可能です。
「Webサービスのテスト」をクリックしてテストを開始します。
テストが成功すると、図10-3に示すように、「テストのステータス」フィールドに「成功」と表示され、レスポンス時間が表示されます。
テストが失敗すると、エラー・メッセージが表示されます。たとえば、図10-4には、var-Intパラメータのタイプ・エラーが原因のエラーが表示されています。この例の場合には、intが必要な状況でstringデータが入力されました。
テスト・ページを使用して、ユーザーの認証にユーザー名トークンを使用するポリシーをテストできます。
注意: このテスト機能では、ユーザー名とパスワードを必要とするポリシー(カスタム・ポリシーなど)のみがサポートされています。証明書やその他のトークンを必要とするポリシーはサポートされていません。 |
WSDLのポリシーではセキュリティ設定は決定されないため、テストするトークンのタイプを指定できます。デフォルトは「なし」です。ユーザー名とパスワードを指定する場合は、存在していて有効なものを指定する必要があります。
パスワードはプレーン・テキストで渡す必要があります。ページの「セキュリティ」セクションのいずれかのオプションを選択すると、リクエストに認証資格証明が提供されます(図10-5)。次のいずれかを選択します。
WSSユーザー名トークン: WS-Security SOAPヘッダーが挿入されます。ユーザー名は必須ですが、パスワードはオプションです。
HTTP Basic認証: HTTPトランスポート・ヘッダーに、ユーザー名とパスワードの資格証明が挿入されます。ユーザー名およびパスワードの両方が必須です。
カスタム・ポリシー: カスタム・ポリシーは、ユーザーの認証に使用できます。ポリシーのURIを指定する必要があります。ユーザー名およびパスワードはオプションです。
なし: 資格証明は含まれません。
「Webサービスのテスト」ページの「サービスのクオリティ」セクション(図10-6)では、サービスのクオリティ(QoS)の信頼できるメッセージング(WS-RM)、WS-AddressingおよびMessage Transmission Optimization Mechanism(MTOM)の3つの特性をテストできます。サービスのクオリティの各タイプには、3つのオプションがあります。
自動: WSDLのデフォルトの動作が実行されます。たとえば、「MTOM」に「自動」が選択され、WSDLにMTOMポリシーへの参照が含まれている場合は、そのポリシーが実行されます。WSDLにMTOMポリシーへの参照が含まれない場合は、MTOMポリシーは実行されません。
なし: WSDLに含まれている場合でも、特定のQoSのポリシーは実行されません。たとえば、WS-RMに「なし」が選択されている場合、信頼できるメッセージング・ポリシーは実行されません。WSDLに信頼できるメッセージング・ポリシーへの参照が含まれている場合は、無視されます。
カスタム: カスタム・ポリシーが実行されます。たとえば、WSDLでWS-Addressingポリシーが参照されている場合、このポリシーは無視され、「ポリシーURI」に指定されているポリシーがかわりに使用されます。
ポリシーURI: 実行するポリシーの場所を指定します。
テスト・メカニズムはWSDLを使用して、テストでSOAPアクションを使用可能にするかどうかを決定します。WSDLのsoap:operationにsoapAction属性が指定されている場合は、これが表示され、SOAPアクションが有効化されます。
SOAPアクションが有効化された状態でリクエストが送信されると、SOAPアクションHTTPヘッダーが送信されます。
この動作を変更するには、「SOAPアクション」ボックスの選択を解除します。こうすると、HTTPヘッダーは送信されません。または、「SOAPアクション」テキスト・ボックスに異なる値を入力することでも、この動作を無効にできます。(テストするSOAPアクションとその構文を知っている必要があります。)
Webサービス操作の連続起動を作成および構成するオプションを表示するには、「ストレス・テスト」の「有効化」チェック・ボックスを選択します(図10-8)。
同時スレッド数: 起動を送信する同時スレッド数。デフォルトは5スレッドです。
スレッドごとのループ: 操作を起動する回数。デフォルトは10回です。
ミリ秒単位の遅延: ある操作から次の操作を起動するまでに待機する時間(ミリ秒数)。デフォルトは1000ミリ秒(1秒)です。
テストを起動すると、進捗ボックスにテストのステータスが表示されます。
テストが完了すると、ストレス・レポート・ページが返されます。レポート・ページは、テストするサービス・エンドポイントと操作、送信メッセージのサイズ、操作を実行する同時スレッド数、各スレッドで操作を実行する回数、ある操作から次の操作を起動するまでの遅延を特定します。
注意: この項の内容は、JEE Webサービスには該当しません。 |
Webサービスのテスト・ページを無効化すると、Webサービスを公開するアプリケーションの、外部から参照可能な詳細が少なくなり、セキュリティが強化されます。
注意: 「テストの有効化」コントロールの無効化は、Webサービスの外部から参照可能なテスト・ページにのみ影響します。この章で説明されているWebサービス・テストの機能には影響しません。 |
Fusion Middleware Controlを使用してテスト・ページを無効化する方法
「アプリケーションの「Webサービスのサマリー」ページへの移動」で説明されているように、「Webサービスのサマリー」ページに移動します。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポート名をクリックして「Webサービス・エンドポイント」ページに移動します。
「構成」タブをクリックします。
「テストの有効化」フィールドで、リストから「False」を選択します。
「適用」をクリックします。