Webサービスは、複数の方法でテストおよび分析できます。 Webサービス生成のライフサイクルで、次の操作を実行できます。
Oracle Enterprise Managerを使用して、デプロイされたWebサービスをテストします。 デプロイされたすべてのサービスには独自のテスト・ページがあるため、各サービスが想定どおりに機能するかどうかをすばやくテストできます。 詳細は、第6.13.1項「Oracle Enterprise Managerを使用したESBサービスのテスト方法」を参照してください。
次に、生成されたプロキシを使用してサービスをテストします。 詳細は、第5.3.1項「Webサービス・プロキシの作成方法」を参照してください。
HTTPアナライザを使用して詳細なテストを実行します。サービスによるメッセージの送受信を確認できます。 詳細は、JDeveloperのオンライン・ヘルプで、HTTPアナライザを使用したWebサービスの確認に関するトピックを検索してください。
サービスが適切に動作していることを確認した後は、UIを作成して再テストを実行し、HTTPアナライザとともにアプリケーションのデバッガを使用してXMLトラフィックを確認します。
アプリケーションで外部Webサービスを使用している場合は、WS-I Basic Profile 2.0に準拠していることを確認できます。 詳細は、第5.4.2項「Webサービスの相互運用性の分析」を参照してください。
JDeveloperの多機能なデバッガを使用すると、JDeveloperの埋込みOC4Jサーバーでローカルに、あるいはJDeveloperのデプロイ済OC4Jサーバーや別のリモート・サーバーでリモートに、Webサービスをデバッグできます。 詳細は、JDeveloperのオンライン・ヘルプで、Webサービスのデバッグの概要に関するトピックを検索してください。
注意: PL/SQL Webサービスもデバッグできますが、デバッグする内容は、JDeveloperで生成されたJavaクラスです。このJavaクラスは、PL/SQLをWebサービスとしてデプロイするためにラップします。 したがって、PL/SQL Webサービスが想定どおりに動作することを確認する適切な方法は、PL/SQLからWebサービスを作成する前にPL/SQLをデバッグする方法です。 |
ヒント: Webサービスをローカル・デバッグする前に、JDeveloperのプロキシ設定をオフにする必要があります。 デバッグが完了した後は、必ずプロキシ設定をオンに戻してください。 |
Webサービスをローカル・デバッグする場合は、JDeveloperの埋込みOC4JサーバーでWebサービスを実行します。 Webサービスをローカル・デバッグする方法は2通りあり、両方の方法とも、Webサービスに対してサンプルJavaクライアントを作成します。 このサンプルJavaクライアントには、Webサービスで公開される各メソッドに対して実行するメソッドが含まれます。また、サンプルJavaクライアントは、サービスのプロキシとして動作します。 次の操作を実行できます。
Webサービス・クラスにブレークポイントを設定し、そのWebサービス・クラスに対してサンプルJavaクライアントを実行します。 これによって、サービス・クラス自体をデバッグできます。
サンプルJavaクライアントにブレークポイントを設定します。
Webサービスが直面している主要な問題は、Webサービスが実際にどの程度相互運用可能かという問題です。 Webサービスの重要な特徴は、CORBAなどの以前のソリューションが抱えていた問題を回避するために、共通の標準が使用されていることです。 しかし、これらの標準自体は、組織がWebサービスを記述してデプロイし、使用するのと同時に記述されています。 このため、様々な標準を使用して記述されているWebサービスなど、相互運用性の問題が発生しています。
この相互運用性の問題に対処するために、オラクル社をはじめとする業界リーダー各社でWeb Services-Interoperability Organization(WS-I)を設立し、Webサービスのテストおよびその相互運用性の確認を行うツールを提供しています。 WS-Iの仕様を含む詳細は、Web Services-Interoperability Organization(WS-I)のWebサイト(www.ws-i.org
)を参照してください。
JDeveloperでは、Webサービスの相互運用性をテストするために、WebサービスがWS-I Basic Profile 1.1に準拠しているかどうかを分析できます。 最初に、WS-I準拠のアナライザをダウンロードする必要があります。 このアナライザは、WS-IのWebサイトおよび独立したベンダーから入手できます。 Webサービスがどの程度WS-I Basic Profile 1.1に準拠しているかを調べるために一連のテスト・アサーションが使用され、次の項目に関する情報が記録されます。
Discovery(検出)。WebサービスがUDDIレジストリを使用して検出された場合に記録されます。 WebサービスがWebサービスの検索ウィザードを使用して検出されなかった場合、レポートのこのセクションでは、「Missing Input」セクションにエラーが戻されます。
Description(説明)。WebサービスのWSDLドキュメントに関する情報が記録されます。WSDLドキュメントの様々な要素が確認され、完全に準拠しているかどうかがレポートされます。 このセクションの「failure」の例には、アサーションWSI2703の不合格があります。次のメッセージが表示されます。「WSDL definition does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd for some element using the WSDL-SOAP binding namespace, or does not conform to the schema located at http://schemas.xmlsoap.wsdl/wsdl/2003-02-11.xsd for some element using the WSDL namespace
」
Message(メッセージ)。 Webサービスへの接続によってリプライが送信されたときに、リクエスト・メッセージとレスポンス・メッセージがテストされます。
JDeveloperでこのメッセージをテストするには、JDeveloperのオンライン・ヘルプで、WS-I Basic Profileに関するトピックを検索し、指示に従ってください。
図5-19に、SOA Order BookingアプリケーションのCredit Serviceに関するWS-Iレポートの一部を示します。
生成されたレポートの名前はwsi-report.html
で、WS-Iテスト・ツールが配置されているディレクトリ内にあります。 ここでのレポートは、CreditService.wsdl
に準拠性があり、SOA Order BookingアプリケーションのCredit Serviceのコントラクトドリブン開発に使用可能であることを示しています。 図5-20を参照してください。
図5-20 CreditService.wsdlに関するWS-Iレポートの「Summary」セクション
JDeveloperには、リクエスト/レスポンスTCPパケットを監視および記録する、非常に便利なツールであるHTTPアナライザが用意されています。HTTPアナライザを使用すると、プロキシがWebサービスに接続し、そのサービスがレスポンスを戻すときに渡されるSOAPメッセージのコンテンツを確認できます。
JDeveloperでプロキシ設定が定義されている場合は、HTTPアナライザを起動すると、すべてのTCPデータが中間ポートを介して当初のプロキシに転送されるようにプロキシ設定が更新されます。 HTTPアナライザをオフにしたり、JDeveloperを終了すると、プロキシ設定は元の状態に戻ります。
ウィザードを完了した後は、WSDLを使用してデータ・コントロールを作成できます。 次に、このデータ・コントロールを使用して、情報を収集できるJSFページを宣言的に作成できます。
使用するWebサービスのプロキシが生成されている必要があります。 詳細は、第5.3.1項「Webサービス・プロキシの作成方法」を参照してください。
WebサービスでHTTPアナライザを使用する手順は、次のとおりです。
HTTPアナライザを表示します。 「表示」メニューから「Httpアナライザ」を選択します。
緑色のボタンをクリックして、アナライザを起動します。
生成されたプロキシを実行します。 HTTPアナライザにリクエスト/レスポンス・パケットが表示されます。
詳細は、JDeveloperのオンライン・ヘルプで、HTTPアナライザの使用に関するトピックを検索してください。