Webサービス・ログの作成と分析

JDeveloperのTCPパケット・モニターを使用すると、Webサービス・スタブの実行中のログを生成できます。 また、ダウンロードおよびJDeveloperでの登録が済んでいるWS-I準拠のアナライザを使用して、WebサービスがWS-I規格に準拠しているかどうかを確認することもできます。 アナライザはWebサービスのスタブに対して実行するため、サービスの検出、説明およびメッセージがレポート対象となります。

まず、TCPパケット・モニターの実行中に、Webサービスのスタブまたはプロキシを実行します。 バケット・モニターを停止すると、ログ・ファイルが作成されます。 次に、一連の標準アサーションに対するログ・ファイルを分析します。

注意: ファイアウォール内で作業する場合は、Webサービスの実行に使用しているマシンのIPアドレスが、JDeveloperのプロキシ・サーバー例外に含まれないようにする必要があります。 詳細は、「プロキシ設定とJDeveloper」を参照してください。

Webサービスのログを作成し分析するには、次のようにします。

  1. 分析の対象となるWebサービスのスタブまたはクライアントを作成します。
  2. TCPパケット・モニターを開始します。 「表示」->「TCPパケット・モニター」を選択し、モニターの「開始」ボタン(Start TCP Packet Monitor button)をクリックします。
  3. スタブまたはサンプルJavaクライアントを実行します。次のいずれかの操作を行います。
  4. Webサービスから予期した応答が得られた後、「停止」ボタン(Stop button)をクリックしてTCPパケット・モニターを停止します。 wsi-log.xmlファイルとwsi-log.htmlファイルはナビゲータで作成およびリスト表示されますが、wsi-log.htmlはJDeveloperで開かれます。

    注意: TCPパケット・モニターの実行を停止するまで、ログ・ファイルはナビゲータで作成および表示されません。

  5. ナビゲータでwsi-log.xmlを選択し、ポップアップ・メニューから「WS-Iログ・ファイルの分析」を選択します。 WS-I Webサービス分析ウィザードが開きます。
  6. 「初期画面」ページが表示された後、「次へ」をクリックします。
  7. 「WSDLの検証」ページには、ログ・ファイルからデフォルトが取得されています。 必要な場合は別のサービス名やポートを選択し、「終了」をクリックします。 分析が開始され、Webサービス・ログ・ウィンドウに進行状況が示されます。
  8. 分析レポートwsi-report.htmlがJDeveloperに表示されます。

問題が発生した場合

Webサービスの分析を実行すると、問題の発生する原因が多数見つかります。 その中にはJDeveloperドキュメントで説明されていないものもありますが、次の2つの問題が発生する可能性があります。

Webサービスに対するWS-I分析で、JDeveloperで生成された多数のエラーがレポートされる場合

生成したWebサービスに何の変更も加えていない場合や、加えた変更がWebサービスの動作に明らかに影響を与えていない場合、エラーがレポートされることがあります。 これは、SOAPサーバーへのデプロイを目的として開発されたWebサービスや、Oracle J2EE 1.3準拠のWebサービスが、以前の規格に準拠して生成されるためです。 WS-I規格に完全準拠しているのは、JAX-RPC Webサービスのみです。

wsi-report.htmlのメッセージ・セクションからすべての入力項目が消去される場合

外部WebサービスのWSDLのエンドポイントに含まれているマシン名が大文字のみまたは大文字小文字混合で記述されているのに対し、JDeveloperで生成されたスタブの_endPoint変数のマシン名が小文字で記述されている場合に、このような現象が発生することがあります。 これと類似する事例を、「埋込みサーバーで実行中のWebサービスの分析」で説明しています。 対処方法としては、JDeveloperにWSDLをインポートしてナビゲータに表示し、WSDLのマシン名を小文字に編集します。 これにより、スタブを生成し、TCPパケット・モニターの実行中にスタブを実行できます。

WSDLをナビゲータにインポートするには、次のようにします。

  1. デフォルト値をそのまま使用して、新規WSDLドキュメントの作成を行います。
  2. ブラウザでWSDLドキュメントを開きます。 ドキュメントのソースを表示し、WSDLのXMLソースをコピーします。
  3. ここで作成したWSDLドキュメントの内容を、使用するWebサービスのWSDLドキュメントのソースで置き換えます。

wsi-report.htmlの検出セクションからすべての入力項目が消去される場合

wsi-report.htmlの検出セクションでは、UDDIレジストリから検索するWebサービスで使用されるREGDATA結果についてレポートします。 UDDIレジストリを使用しても検索されなかったWebサービスのレポートを作成した場合、検出セクションのInputsがすべて消去されます。


Webサービスの分析
TCPパケット・モニターの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.