Oracle Web Services Manager(Oracle WSM)は、Universal Description, Discovery, and Integration(UDDI)レジストリおよびWS-Inspection(WSIL)ドキュメントに公開されているWebサービスの検出や登録をサポートします。ゲートウェイにWebサービスを登録する場合、次のいずれかの場所を指定してWebサービスに関する情報を取得できます。
UDDIレジストリのURL
WSILドキュメントのURL
WSILドキュメントのファイルの場所
Oracle WSMが指定されたサービスを公開すると、目的のサービスを選択して、ゲートウェイに登録できます。
この章では次の項について説明します。
Webサービス・モデルの主な機能は、Webサービスを広範囲にわたって利用および検出できるようにすることです。UDDIは、Webサービスを公開および検出するための1つの手段であり、ビジネスやそのサービスに関する情報をレジストリで集中管理します。もう1つの標準的な方法として、Web Services Inspection Language(WSIL)仕様があります。
注意: この項では、WS-InspectionとWSIL(Web Services Inspection Language)が同じ意味で使用されています。 |
WSILは、Webサービス記述を参照するためのExtensible Markup Language(XML)形式を定義します。これらの参照はWSILドキュメントに含まれており、Webサービス記述(WSDLファイルなど)やWebサービスのその他の集合(他のWSILドキュメントやUDDIレジストリなど)を参照します。
WSILドキュメントは、通常、Webサービス・プロバイダによって配布されます。これらのドキュメントには、使用可能なWebサービスのプロバイダのWebサイトを検索する方法が記述されています。したがって、WSIL標準は、Webサービスの利用者がWSILドキュメントを使用できるようにするルールも定義します。
WSILの構造は、Webサービス検出を分散化するものとなっています。複数のビジネス・エンティティやサービスに関する情報を集中管理するUDDIレジストリとは対照的に、WSILは任意の場所からWebサービス記述の情報を提供できます。UDDIとは異なり、WSILではビジネス・エンティティ情報を気にせず、特定のサービス記述形式も必要ありません。WSILでは、サービス・プロバイダが誰であるのかを把握することが前提であり、Webサービス記述のその他の標準(WSDLなど)に依存しています。
ゲートウェイにWebサービスを登録するには、公開されている使用可能なWebサービスのUDDIレジストリから、またはWSILドキュメントからサービスを直接インポートする方法もあります。これについてはこの章の次の項で説明します。
次の手順では、UDDIレジストリからWebサービスをインポートする方法について説明します。
UDDIレジストリからWebサービスをインポートするには
左側のナビゲーション・ペインで、「ポリシー管理」を選択して、「サービスの登録」をクリックします。
Web Services Manager Controlに、登録されているゲートウェイのリストが表示されます。
サービスを登録するゲートウェイを探し、「サービス」をクリックします。
Web Services Manager Controlに、そのゲートウェイに現在登録されているサービスが表示されます。
「サービスのインポート」をクリックします。
「Webサービスの検出」ページで、「UDDIレジストリ・サービス」を選択します。
「検出サービスのURL」フィールドに、問合せ対象とするサービスのURLを入力します。
注意: 提供されたサンプルUDDIのhttp://<oc4jhost>:<port>/registry/uddi/inquiry を使用する前に、Oracle Registryをインストールする必要があります。 |
「サービスの表示」をクリックすると、UDDIレジストリから使用可能なサービスのリストが表示されます。
「サービスのインポート」をクリックします。
インポートするWebサービスのチェック・ボックスを選択して、「インポート」をクリックします。
一度にインポートできる最大サービス数は50です。Oracle WSMにサービスをインポートするには数分かかる場合があります。選択したサービスがインポートされると、インポートの完了を示すメッセージが表示されます。
「OK」をクリックします。
サービスのリストには、UDDIレジストリからインポートしたWebサービスが含まれます。Oracle WSMは、新しいサービスにデフォルトの管理ポリシーを割り当てます。「ポリシーのコミット」が赤で表示され、ポリシーの更新を受け入れるよう求められます。
「コミット」をクリックしてから、「OK」をクリックします。
WSILファイルのURLまたはシステム・パスを指定できます。
WSILファイルからWebサービスをインポートするには
左側のナビゲーション・ペインで、「ポリシー管理」を選択して、「サービスの登録」をクリックします。
サービスを登録するゲートウェイの「サービス」をクリックします。
「サービスのインポート」をクリックします。
「Webサービスの検出」ページで、「ローカル・ドライブのWSILファイル」を選択します。
「WSILファイル」フィールドにWSILドキュメントのパスを入力するか、「参照」をクリックしてファイルを見つけます。Web Services Manager Controlからアクセスできるものであれば、任意のシステム上の任意のWSILドキュメントを指定できます。
WSILドキュメントには、サービス記述またはその他のサービス・ポインタへのリンクが含まれます。
「サービスの表示」をクリックすると、サービスのリストが表示されます。
「サービスのリスト」からインポートするサービスを選択して、「選択」をクリックします。
手順11に続きます。
「参照の表示」をクリックすると、追加のWSILドキュメントへのポインタのリストが表示されます。
右矢印をクリックすると、次にサービス・ポインタへのリンクが表示され、そのサービス・ポインタで集約されたサービスが表示されます。
サービスのリストが表示されます。
インポートするサービスを選択して、「選択」をクリックします。
「サービスの登録」をクリックします。
Oracle WSMにサービスをインポートするには数分かかる場合があります。選択したサービスがインポートされると、インポートの完了を示すメッセージが表示されます。
「OK」をクリックします。
サービスのリストには、UDDIレジストリからインポートしたWebサービスが含まれます。Oracle WSMは、新しいサービスにデフォルトの管理ポリシーを割り当てます。「ポリシーのコミット」が赤で表示され、ポリシーの更新を受け入れるよう求められます。
「コミット」をクリックしてから、「OK」をクリックします。
次の手順では、WSIL URLからWebサービスをインポートする方法について説明します。
WSIL URLからWebサービスをインポートするには
左側のナビゲーション・ペインで、「ポリシー管理」を選択して、「サービスの登録」をクリックします。
サービスを登録するゲートウェイの「サービス」をクリックします。
「サービスのインポート」をクリックします。
「Webサービスの検出」ページで、「WSIL検出サービス」を選択します。
「WSILファイル」フィールドに、WSILドキュメントのパスを入力します。
WSILドキュメントには、サービス記述またはその他のサービス・ポインタへのリンクが含まれます。
「サービスの表示」をクリックすると、サービスのリストが表示されます。
「サービスのリスト」からインポートするサービスを選択して、「選択」をクリックします。
手順11に続きます。
「参照の表示」をクリックすると、追加のWSILドキュメントへのポインタのリストが表示されます。
参照の右矢印をクリックすると、サービスのリストが表示されます。
インポートするサービスを選択して、「選択」をクリックします。
「サービスの登録」をクリックします。
Oracle WSMにサービスをインポートするには数分かかる場合があります。選択したサービスがインポートされると、インポートの完了を示すメッセージが表示されます。
「OK」をクリックします。
サービスのリストには、UDDIレジストリからインポートしたWebサービスが含まれます。Oracle WSMは、新しいサービスにデフォルトの管理ポリシーを割り当てます。「ポリシーのコミット」が赤で表示され、ポリシーの更新を受け入れるよう求められます。
「コミット」をクリックしてから、「OK」をクリックします。
クライアントがOracle WSM Gatewayにリクエストを行うと、ゲートウェイはWebサービスを仮想化します。ただし、Oracle WSMではインポートしたXML Schema Definitions(XSD)は仮想化されません。そのため、インポートしたXSDを含むWSDLをクライアントが相対URLで取得しようとすると、404 Not Foundエラーが発生します。
したがって、インポートしたXSDのうち、WSDL内でschemaLocation
が相対URLとして指定されているすべてのXSDを、ゲートウェイのインストール先システムのディレクトリにコピーして、ゲートウェイがドキュメントをホストできるようにする必要があります。
ORACLE_HOME/owsm/config/gateway/services
相対URLにディレクトリが含まれる場合、そのディレクトリをサブディレクトリとして作成する必要があります。たとえば、WSDLに次のschemaLocation
が含まれるとします。
<import namespace="http://www.autoloan.com/ns/autoloan" schemaLocationfiltered="AutoLoanFlow/AutoLoanTypes.xsd"/>
この場合、次に示すように、servicesディレクトリの下にAutoLoanFlowというディレクトリを作成する必要があります。
ORACLE_HOME/owsm/config/gateway/services/AutoLoanFlow
AutoLoanTypes.xsdファイルをAutoLoanFlowディレクトリにコピーします。
指定したディレクトリにXSDをコピーしたら、ゲートウェイ・アプリケーションを再デプロイします。アプリケーションのデプロイの詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。