JDeveloperのWebサービス公開ウィザードを使用すると、オブジェクト型を使用するPL/SQLパッケージまたはJavaストアド・プロシージャから、Webサービスを簡単に生成して公開できます。レコードを使用するパッケージからWebサービスを作成する詳細は、「PL/SQLレコードからのPL/SQL Webサービスの作成」を参照してください。
Javaストアド・プロシージャは、コール元のSQL仕様によって定義されます。PL/SQL Webサービス公開ウィザードでは、Javaストアド・プロシージャをパッケージと同様に扱います。PL/SQL Webサービスは、OC4JまたはOracle9i Application Serverにデプロイできます。
PL/SQL Webサービス公開ウィザードは、JPublisherの機能を使用してPL/SQLをJavaでラップし、サービスを公開できるようにします。JPublisherの詳細は、「JPublisherについて」を参照してください。
次のいずれかの方法を使用できます。
PL/SQLパッケージに特定の要素がある場合、Webサービスとしてデプロイするのに適しません。それらの要素と対処方法の詳細は、「PL/SQLの型とWebサービス」を参照してください。
JDeveloperによって次のファイルが生成されます。
<connection_name>.<package_name>
WebService
という名前のWebサービス・コンテナ。ナビゲータのこのノードの下に次のファイルが生成されます。
<package_name>.wsdl
という名前のWebサービスのWSDLドキュメント。I<package_name>.java
という名前のインタフェース。選択したメソッドに対して生成されます。 web.xml
ファイル。プロジェクトに既存のweb.xmlファイルがある場合は、Webサービスの情報によって更新されます。WebService.deploy
という名前のWARデプロイメント・プロファイル。PL/SQL Webサービスのデプロイ方法は、他のJ2EE Webアプリケーションのデプロイと同じです。オンライン・ヘルプの「JDeveloperを使用したパッケージおよびデプロイ」のブックにある、「J2EE WebサービスのOC4Jへのデプロイ」を参照してください。
Oracle9i Databaseリリース2(9.2)では、同じ名前とパッケージ名を持つストアド・プロシージャまたはストアド・ファンクションに複数のスキーマからアクセスできる場合、PL/SQL Webサービスの公開中に起動されたSQLJトランスレータは異常終了します。
この問題を解決するには、公開するパッケージが1つのスキーマのみで認識されるようにし、他のスキーマのパッケージで同じ名前を使用しないようにしてください。