プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理
12c (12.2.1.1.0)
E77339-02
目次へ移動
目次

前
前へ
次
次へ

32 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントの管理

この章では、SOAコンポジット・アプリケーションのWebサービス、JCAアダプタ・サービスおよび参照バインディング・コンポーネントのポリシーの管理方法、ならびにサービス・バインディング・コンポーネントの登録済のUniversal Description, Discovery, and Integration (UDDI)ソースからUDDIレジストリへの公開方法および追加のOracle Service Registryタスクの実行方法について説明します。

この章の内容は次のとおりです。

注意:

Oracle SOA Suiteでは、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントに対する複数のバインディング(例: composite.xmlファイルにSOAP 1.1とSOAP 1.2の両方を指定する)はサポートされていません。サポートの対象は、サービスまたは参照ごとに1つのWebサービス・バインディングのみです。複数のバインディングを指定する場合は、1つを除いてすべてのバインディングを削除し、SOAコンポジット・アプリケーションを再デプロイします。

詳細は、次のドキュメントを参照してください。

32.1 バインディング・コンポーネントのポリシーの管理

現在デプロイされているSOAコンポジット・アプリケーションに組み込まれているバインディング・コンポーネント(WebサービスやJCAアダプタなど)に対して、セキュリティ・ポリシーをアタッチおよびデタッチできます。ポリシーはメッセージの配信にセキュリティを適用します。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。

注意:

ポリシーをアタッチする前に、使用可能なポリシーの定義およびユーザー環境で使用するポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理に関する項を参照してください。

バインディング・コンポーネント・ポリシーを管理する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。


    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ホーム」を選択します。

    2. 「デプロイ済コンポジット」タブを選択します。

    3. 「コンポジット」セクションで、特定のSOAコンポジット・アプリケーションを選択します。

    1. 「soa-infra」の下にあるパーティションを展開します。

    2. 特定のSOAコンポジット・アプリケーションを選択します。


    選択したSOAコンポジット・アプリケーションに対する「ダッシュボード」タブが表示されます。このページの「サービスと参照」セクションに、アプリケーションで使用されているバインディング・コンポーネントが表示されます。

  2. 「サービスと参照」セクションで、サービスまたは参照を選択します。

  3. 「ポリシー」をクリックします。

    「ポリシー」ページでは、グローバルにアタッチされたポリシーおよび直接アタッチされたポリシーを表示でき、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントとの間でセキュリティ・ポリシーをアタッチまたはデタッチできます。

    • 「グローバルにアタッチされたポリシー」表には、グローバルにアタッチされたポリシーの名前、ポリシー・セット、カテゴリ(「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」または「WSアドレス」など)、SOAインフラストラクチャの最後の再起動以降の違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。

      ポリシー・セットを使用すると、ある範囲に含まれる同じタイプのエンドポイントに対して、ポリシーをグローバルにアタッチできます。ポリシー・セットを使用してポリシーをグローバルにアタッチすることによって、開発者、アセンブラまたはデプロイヤがアタッチするポリシーを明示的に指定しなかった状況において、管理者は、すべてのサブジェクトが確実に保護されるようにできます。ポリシー・セットを使用してアタッチされるポリシーは、外部的にアタッチされたと見なされます。ポリシー・セットの作成と管理に関する情報は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

    • 「直接アタッチされたポリシー」表には、直接アタッチされたポリシーの名前、ポリシー参照ステータス(有効または無効)、カテゴリ、SOAインフラストラクチャの最後の再起動以降の違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。

  4. 「直接アタッチされたポリシー」セクションで、「アタッチ/デタッチ」をクリックします。

    複数のコンポーネントが使用可能な場合は、アタッチまたはデタッチを実行するサービスまたはコンポーネントを選択するプロンプトが表示されます。

    注意:

    ポリシーをサービス・バインディング・コンポーネント(クライアント)にアタッチして、「Webサービスのテスト」ページでSOAコンポジット・アプリケーションのインスタンスを起動し、ポリシーのアタッチに失敗した場合、Oracle Web Services Manager (OSWM)ポリシー・エラーは生成されず、Oracle Enterprise Manager Fusion Middleware Controlに表示されません。

    同じビジネス・フロー・インスタンスが外部で起動された場合は、ポリシー・エラーが生成され、Oracle Enterprise Manager Fusion Middleware Controlに表示されます。

    サービス・コンポーネント(BPELプロセスなど)または参照バインディング・コンポーネントの場合は、ビジネス・フロー・インスタンスが外部で起動されたか、「Webサービスのテスト」ページを介して内部で起動されたかに関係なく、ポリシー・エラーは常に生成され、表示されます。

  5. ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。

    ポリシーをアタッチまたはデタッチするためのダイアログが起動します。

    「アタッチされたポリシー」セクションに、現在アタッチされているポリシーが表示されます。「使用可能なポリシー」セクションには、アタッチ可能な追加のポリシーが表示されます。

  6. 使用環境に適した、アタッチ対象のポリシーを選択します。

  7. 「アタッチ」をクリックします。

  8. ポリシーのアタッチを終了した後は、「検証」をクリックします。

  9. エラー・メッセージが表示された場合は、検証エラーがなくなるまで必要な修正を行います。

    アタッチしたポリシーがポリシー表に表示されます。

  10. 「OK」をクリックします。

詳細は、次のドキュメントを参照してください。

32.1.1 ポリシー構成プロパティ値のオーバーライド

使用環境には、同じポリシーを持つ複数のサーバーを含めることができます。ただし、各サーバーはそれぞれ固有のポリシー要件を保持できます。実行時要件を満たすために、サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントにアタッチされている管理ポリシーおよびセキュリティ・ポリシーのプロパティ値をオーバーライドできます。

  1. サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントにポリシーをアタッチするには、「バインディング・コンポーネントのポリシーの管理」の手順を参照してください。
  2. 表内でアタッチされているポリシーを選択します。
  3. 「ポリシー構成のオーバーライド」をクリックします。

    「セキュリティ構成の詳細」ダイアログが表示されます。

  4. 「値」フィールドに値を入力して、「元の値」列のデフォルト値をオーバーライドします。
  5. 「適用」をクリックします。

ポリシー値のオーバーライドの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

32.2 UDDIレジストリへのWebサービスの公開

サービス・バインディング・コンポーネントを登録済のUDDIソースからUDDIレジストリに公開できます。

注意:

  • 参照バインディング・コンポーネントは、UDDIレジストリには公開できません

  • UDDIレジストリに公開できるのはWebサービスのみです。たとえば、JCAアダプタは公開できません。

UDDIレジストリへのWebサービスの公開の詳細は、Webサービスの管理を参照してください。

32.2.1 UDDIレジストリへのWebサービスの公開

注意:

Oracle Enterprise Manager Fusion Middleware ControlからデフォルトのOracle Service RegistryビジネスにWebサービスを公開できます。デフォルト以外のビジネスに公開するには、Oracle Service Registryの公開オプションを使用します。

ドキュメントを含むOracle Service Registryの詳細は、次のURLを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

UDDIレジストリにWebサービスを公開するには、次の手順を実行します。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。


    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「サービスと参照」を選択します。

    1. 「soa-infra」を右クリックします。

    2. 「サービスと参照」を選択します。


    「サービス」ページには、サービスの名前とタイプ、サービスが使用されているSOAコンポジット・アプリケーション、コンポジットがデプロイされているパーティション、処理されたメッセージの合計数、平均処理時間、およびサービスで発生したフォルトの件数に関する詳細が表示されます。

  2. 「サービス」表で、UDDIレジストリに公開するサービスを選択します。

  3. 「アクション」リストで、「UDDIに公開」を選択します。

    「UDDIへのサービスの公開」ダイアログ・ボックスが表示されます。

  4. 次の情報を入力します。


    フィールド 説明

    サービス名

    選択したサービスの名前を表示します。

    サービスの説明

    選択したサービスに関するオプションの説明を入力します。

    システム定義の場所

    UDDIレジストリに公開するWSDL URLを表示します。例:

    http://myhost.mycompany.com:7001/soa-infra/services/default/HelloWorld/client?WSDL

    UDDIソース

    サービスの登録元のUDDI公開ソースを選択します。

    ビジネス名

    サービスを公開するビジネスを選択します。これは、UDDIレジストリ内のデータ構造の名前です。ビジネスがすでにUDDIレジストリに登録されていることが前提とされています。


    完了すると、「UDDIへのサービスの公開」ダイアログ・ボックスは次のように表示されます。

  5. 「OK」をクリックします。

32.3 Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更

SOAコンポジット・アプリケーションの参照バインディング・コンポーネントがOracle Service Registry (OSR)と統合されている場合は、このページの「一般」セクションでエンドポイント参照とサービス・キーを変更できます。

実行時のエンドポイントの解決にUDDIを使用することを選択した場合は、composite.xmlファイルのbinding.ws property="oracle.soa.uddi.serviceKey"の値が「UDDI ServiceKey」フィールドに自動的に表示されます。

SOAコンポジット・アプリケーションがデプロイされた後に、次の目的のために「UDDI ServiceKey」フィールドを編集できます。

  • 必要に応じて値を変更するため

  • 実行時のエンドポイント解決にUDDIを使用していないコンポジットに追加するため

「エンドポイント・アドレス」フィールドは、composite.xmlファイルのws.binding endpointURIプロパティに定義されているエンドポイントの位置を表します。「エンドポイント・アドレス」フィールドは、SOAコンポジット・アプリケーションをデプロイした後は入力できませんが、具体的なWSDLでエンドポイントの位置をオーバーライドできます。

エンドポイントの位置の優先順位は、次のとおりです。

  • 「UDDI ServiceKey」フィールドに、バインディングoracle.soa.uddi.serviceKeyを実行時に動的に設定します。

  • 「エンドポイント・アドレス」フィールドに、バインディング・プロパティendpointURIを実行時に動的に設定します。

  • composite.xmlファイル(Oracle Enterprise Manager Fusion Middleware Controlで表示および編集可能)のoracle.soa.uddi.serviceKeyのバインディング・プロパティ値を使用します。

  • composite.xmlファイル(Oracle Enterprise Manager Fusion Middleware Controlで表示および編集可能)のendpointURIのバインディング・プロパティ値を使用します。

  • 具体的なWSDLで指定されている位置を使用します。

図32-1は両方のフィールドを示しています。

図32-1 エンドポイント参照とサービス・キーのプロパティ

図32-1の説明が続きます
「図32-1 エンドポイント参照とサービス・キーのプロパティ」の説明

OSRと統合されている場合にエンドポイント参照およびサービス・キーを変更する手順は次のとおりです。

  1. 「UDDI ServiceKey」フィールドで、実行時に使用するサービス・キーを変更します。

  2. 「エンドポイント・アドレス」フィールドに、実行時に使用するエンドポイント・アドレスを入力します。

両方のフィールドを編集できます。設計時に「UDDIデプロイメント・オプション」ダイアログで選択した内容に基づいて、片方のフィールドの値が選択および使用されます。これらのフィールドへの変更は、実行時にはcomposite.xmlファイルで維持されます。

ビジネス・サービスの公開、UDDIレジストリへの接続の作成、レジストリからサービスを起動するためのSOAプロジェクトの構成などの設計時のタスクの詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』を参照してください。

実行時に照会URLを設定する方法の詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。

32.3.1 WSDL URLのキャッシュの構成

エンドポイントWSDL URLのキャッシングは、デフォルトで実行時に発生します。エンドポイントWSDL URLがorauddiプロトコルを使用して解決された場合、後続の呼出しはWSDL URLをOSRからではなくキャッシュから取得します。照会時にキャッシュのエンドポイントWSDL URLを使用できる時間を増やすには、「UddiCacheLifetime」プロパティを持つサービス・キーを使用します。このプロパティに指定した時間間隔でキャッシュが無効化されます。デフォルト値は86400秒です。最小値は300秒です。

WSDL URLのエンドポイントのキャッシュを構成する手順は、次のとおりです。

  1. 「SOAインフラストラクチャ」メニューから、「管理」「システムMBeanブラウザ」の順に選択します。
  2. 「アプリケーション定義のMBean」「oracle.as.soainfra.config」「サーバー: soa_server1」「SoaInfraConfig」「soa-infra」「属性」の順に選択します。
  3. ページの右側にある「UddiCacheLifetime」プロパティをクリックします。
  4. 値を入力します。
  5. 「適用」をクリックします。

32.4 Oracle Service Registryの公開および参照

Oracle Service Registry (OSR)では、Webサービスを公開したり、Webサービスの情報を検出するための共通の標準が提供されます。この項では、個別にインストールしたOracle SOA Suite環境に対してOSRを構成する方法について説明します。

Oracle SOA Suiteでは、次のバージョンのOSRを使用できます。

  • OSR 11g

  • OSR 10.3 (Oracle WebLogic Server 10.3で使用)

  • OSR 10.1.3

OSRの詳細は、次のURLを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

注意:

  • この項では、Oracle JDeveloperに組み込まれたOracle WebLogic Serverに対してOSRを構成する方法については説明しません

  • OSR 10.3は、バージョン10.3.0.0のOracle WebLogic Serverにデプロイされます。

  • OSR 10.3は、バージョン10.3.1.0のOracle WebLogic Serverをサポートしていません。

32.4.1 ビジネス・サービスの公開

この項では、ビジネス・サービスの公開方法の概要を説明します。手順の詳細は、次のURLにあるドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

「レジストリ・ドキュメント」リンクをクリックしてドキュメントにアクセスすることもできます。

ビジネス・サービスを公開する手順は、次のとおりです。

  1. レジストリ・コントロールに移動します:
    http://hostname:port/registry/uddi/web
    
  2. 「パブリッシュ」「WSDL」をクリックします。
  3. プロンプトが表示された時点でログインします。
  4. アクセス・ポイントのURLを指定してビジネス・サービスのWSDLを公開するために、このページの各フィールドを完了します。

    注意:

    エンドポイントの場所を後で変更した場合は、レジストリ・コントロールでWSDLの場所も更新する必要があります。そうしないと、実行時にUDDIの起動に失敗します。「レジストリ・コントロールにおけるエンドポイントの場所の変更」を参照してください。

32.4.2 レジストリへの接続の作成

レジストリへの接続を作成する手順は、次のとおりです。

  1. Oracle JDeveloperに移動します。
  2. 「ファイル」「新規」「接続」「UDDIレジストリ接続」の順に選択して、UDDI接続を作成します。
  3. 接続名を入力します。
  4. 照会エンドポイントURLを入力します。次に例を示します。
    http://myhost.us.example.com:7001/registry/uddi/inquiry
    
  5. 「ビジネス・ビュー」ボタンが必ず選択されているようにします。
  6. 「次へ」をクリックします。
  7. 「接続のテスト」をクリックします。
  8. 成功した場合は、「終了」をクリックします。そうでない場合、「戻る」ボタンをクリックし、エラーを修正します。

注意:

Oracle JDeveloperの「リソース」ウィンドウの「IDE接続」「アプリケーション・サーバー」でSOAコンポジット・アプリケーションのWebサービスを右クリックすると、「UDDIにWSDLを公開」オプションは無効になります。

32.4.3 レジストリからサービスを起動するためのSOAプロジェクトの構成

SOAプロジェクトを構成してレジストリからサービスを起動する手順は、次のとおりです。

  1. ビジネス・サービスへの参照を作成するSOAプロジェクトを開きます。
  2. 「Webサービス」アイコンを「外部参照」スイムレーンにドラッグします。

    「Webサービスの作成」ダイアログが表示されます。

  3. 「WSDL URL」フィールドの右側にあるアイコンをクリックし、WSDLを選択します。
  4. 上部のリストから「リソース・パレット」を選択します。
  5. ナビゲーション・ツリーを開きます。
  6. 「UDDIレジストリ」「ビジネス・サービス」の順に開きます。
  7. 公開したビジネス・サービスを選択して、「OK」をクリックします。

    「UDDIデプロイメント・オプション」ダイアログが表示されます。

  8. 次のいずれかのデプロイメント・オプションを選択します。
    • 実行時にSOAPエンドポイントの場所を動的に解決します

    • 実行時に具体WSDLの場所を動的に解決します

  9. 「OK」をクリックします。

    「Webサービスの作成」ダイアログが再び表示されます。

  10. 「UDDIデプロイメント・オプション」ダイアログでの選択内容に応じて、次の項を参照してください。

32.4.3.1 SOAPエンドポイントの場所の動的解決

SOAPエンドポイントの場所を動的に解決する手順は、次のとおりです。

  1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。

    「Webサービスの作成」ダイアログは次のようになります。

  2. 適切なサービス・コンポーネントを使用して参照に接続します。

  3. SOAコンポジット・エディタで「ソース」をクリックします。

    composite.xmlファイルにserviceKeyが表示されます。このプロパティによって、実行時にエンドポイント・バインディングの場所が動的に解決されます。

    <property name="oracle.soa.uddi.servicekey" type="xs:string" many="false">uddi:
     d3611b59-1c79-478e-9ae5-874007eb20c4">
    
  4. 必要な場合は、「プロパティ・インスペクタ」でoracle.soa.uddi.servicekeyプロパティを明示的に追加して、SOAPエンドポイントの場所を解決することもできます。この操作によって、Webサービスの外部参照について、実行時にSOAPエンドポイントの場所が動的に解決されます。

    1. 「外部参照」スイムレーンの参照バインディング・コンポーネントをハイライト表示します。

    2. 「プロパティ・インスペクタ」「プロパティ」セクションを開きます。

    3. 「追加」アイコンをクリックします。

    4. 「名前」リストに、oracle.soa.uddi.servicekeyと入力します。

    5. 「値」フィールドに、composite.xmlファイルのoracle.soa.uddi.servicekeyの値を指定します。

32.4.3.2 WSDLエンドポイントの場所の動的解決

WSDLエンドポイントの場所を動的に解決する手順は、次のとおりです。

  1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。
  2. 適切なサービス・コンポーネントを使用して参照に接続します。
  3. SOAコンポジット・エディタで「ソース」をクリックします。

    composite.xmlファイルに、WSDLの場所が具体的なURL (HTTP URLなど)ではなく、orauddi:/uddi_service_keyの抽象的なURLであることが示されます。orauddiプロトコルによって、実行時にWSDLの場所が動的に解決されます。

    <location="orauddi:/uddi:d3689250-6ff5-11de-af2b-76279200af27">

32.4.3.3 エンドポイントの解決

Oracle SOA Suiteは、エンドポイントを解決するためにサービスを呼び出します。例と説明は、表32-1を参照してください。


表32-1 エンドポイントの解決

エンドポイントの解決 説明

正規化されたメッセージUDDI serviceKey

OSR UDDI serviceKeyは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(serviceKey)内で、正規化されたメッセージのプロパティに指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.oracle.soa.uddi.serviceKey"
value="uddi:10a55fa0-99e8-11df-9edf-7d5e3ef09eda"/>

正規化されたメッセージendpointURI

正規化されたメッセージendpointURIプロパティは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(endpointURI)内で指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.endpointURI"
value="http://hostname:8001/soa-infra/services
/partition/Project/endpoint_ep"/>

composite.xml UDDI serviceKey

OSR UDDI serviceKeyプロパティ(oracle.soa.uddi.serviceKey)は、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplication
 /Proj/BPELProcess1#wsdl.endpoint(bpelprocess1_client
 _ep/BPELProcess1_pt)"
 . . .>
 <property name="oracle.soa.uddi.serviceKey"
 type="xs:string"
 many="false">uddi:31040650-9ce7-11df-9ee1-7d5e3e
 f09eda</property>
</binding.ws>

composite.xml endpointURI

endpointURIプロパティは、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplica
 tion/Project/BPELProcess1#wsdl.endpoint(bpelproc
 ess1_client_ep/BPELProcess1_pt)"
 . . . >
 <property name="oracle.soa.uddi.endpointURI"
 value="http://hostname:8001/soa-infra/services/
 Partition/Project/bpelprocess1_client_ep"</property>
</binding.ws>

composite.xml具体WSDLのエンドポイントの場所

エンドポイントの場所は、composite.xmlのバインディング・コンポーネント・セクションの具体WSDLで指定されます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplication
 /Project/BPELProcess1#wsdl.endpoint(bpelprocess1_
 client_ep/BPELProcess1_pt)"
 location="http://hostname:8001/soa-infra/services
 /Partition/Project/bpelprocess1_client_ep?wsdl"
 soapVersion="1.1">

エンドポイントを解決するときのフェイルオーバー・シナリオは次のとおりです。

  • 正規化されたメッセージUDDI serviceKey

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

  • 正規化されたメッセージendpointURI

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

  • composite.xml UDDI serviceKey

    • OSR接続でエラー

      • サーバー・エラーをログに記録する

      • コーディングされている場合は、composite.xml endpointURIを使用する

      • それ以外の場合、ユーザーにエラーを返す

    • 接続で無効なserviceKeyのエラー

      • サーバー・エラーをログに記録する

      • コーディングされている場合は、composite.xml endpointURIを使用する

      • それ以外の場合、ユーザーにエラーを返す

    • エンドポイント・アクセスでエラー

      • 警告エラーをログに記録する

      • 存在する場合は、2つ目(または3つ目)のバインディング・テンプレートを使用する

      • それ以外の場合は、composite.xml endpointURIにフェイルオーバーする

  • composite.xml endpointURI

    • エンドポイント・アクセスでエラー

      • 警告エラーをログに記録する

      • composite.xml具体WSDLのエンドポイントの場所にフェイルオーバーする

  • composite.xml具体WSDLのエンドポイントの場所

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

32.4.4 ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント・アドレスの構成

照会URL、UDDIサービス・キーおよびエンドポイント・アドレスは、実行時にOracle Enterprise Manager Fusion Middleware Controlで設定できます。

ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント参照を構成する手順は、次のとおりです。

  1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。
  2. 次のプロパティに値を指定します。
  3. SOAインフラストラクチャを再起動します。
  4. Oracle Enterprise Manager Fusion Middleware Controlを終了します。
  5. エンドポイントの統計を表示するために、レジストリ・コントロールに戻ります。
  6. 「管理」ページに移動し、キャッシュされていない場合(最初)の起動数の増加を確認します。

    デフォルトでは、実行時にWSDL URLのキャッシュが発生します。orauddiプロトコルを使用してWSDL URLが解決された場合、後続の起動では、WSDL URLはOSRからではなくキャッシュから取得されます。キャッシュから取得したエンドポイントのWSDLにアクセスできない場合は、キャッシュがリフレッシュされて、新規エンドポイントのWSDLの場所を取得するためにOSRに接続されます。Oracle Enterprise Manager Fusion Middleware Controlで不要になりSOAインフラストラクチャで使用されないサービスは、アンデプロイすることをお薦めします。停止またはリタイア状態の(アンデプロイしていない)エンドポイント・サービスには引き続きアクセスできます。したがって、キャッシュはリフレッシュされません。

    ビジネス・サービスWSDLをあるホストから別のホストに移動する場合は、必ずレジストリ・コントロールで場所を変更してください。Oracle JDeveloperまたはOracle Enterprise Manager Fusion Middleware Controlでの変更は不要です。

    必要に応じて、サービス・キーによる照会のためにWSDL URLをキャッシュで使用できる時間を増加できます。詳細は、「サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントのプロパティの構成」を参照してください。

    注意:

    11gでは、キャッシュは自動的に発生します。Oracle SOA Suite 10.1.3を使用している場合は、bpel.xmlCacheRegistryWSDLプロパティをtrueに設定することでキャッシュがサポートされます。このプロパティをfalseに設定すると、キャッシュは無効になります。

32.4.4.1 レジストリ・コントロールにおけるエンドポイントの場所の変更

レジストリ・コントロールには、エンドポイントの場所を変更するオプションがあります。これは2ステップのプロセスです。次の手順で概要を示します。詳細は、Oracle Service Registryのドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

WSDLバインディングを更新する手順は、次のとおりです。

  1. レジストリ・コントロールにログインします。
  2. 「検索」「ビジネス」をクリックします。
  3. 「追加」「名前」をクリックします。
  4. 「名前」フィールドで、検索基準を入力します。
  5. 「検索」をクリックします。
  6. 検索結果で、表示されたビジネス名をクリックします。
  7. 右側で「サービス」タブをクリックします。
  8. サービスのリストで、サービス名をクリックします。
  9. 下部で「編集」ボタンをクリックします。
  10. 右側で「バインド」タブをクリックします。
  11. バインディングのリストで、説明列の隣にあるメモ帳アイコンを選択します。

    Oracle Service Registryが、バインディングの編集モードになります。

  12. 「アクセス・ポイント」フィールドで必要なURLを変更し、変更内容を保存します。
32.4.4.1.1 WSDLバインディングのサマリー・ドキュメントを更新する手順:
  1. レジストリ・コントロールで、「検索」をクリックします。

  2. 「tModel名」フィールドに名前を入力し、「tModelの検索」をクリックします。

  3. 「名前」列で、「wsdl:type representing portType」という説明の付いた名前をクリックします。

  4. WSDLの詳細が正しく表示されていることを確認します。

  5. 「編集」ボタンをクリックします。

  6. 右側で「サマリー・ドキュメント」タブをクリックします。

  7. 「説明の追加」ボタンの下で、「編集」アイコンをクリックします。

  8. 新しいURLをクリックします。

  9. 「更新」をクリックし、変更内容を保存します。

  10. 検証を行うには、サービスにナビゲートし、WSDLのURLが新しい場所を指していることを確認します。

32.4.4.2 複数のSOAパーティションからのWSDLの発行

次の手順に従って、レジストリ・コントロールを使用して複数のSOAパーティションからWSDLを発行し、個別のserviceKeyとバインディングを使用してそれらにアクセスします。

複数のSOAパーティションからWSDLを発行する手順は、次のとおりです。

  1. レジストリ・コントロールにログインします。

    http://host:port/registry/uddi/web
    
  2. 最初のパーティションからWSDLを発行します。

  3. 2番目のパーティションからWSDLを発行します。

    1. 「パブリッシュ」「WSDL」をクリックします。

    2. 「ビジネス・キー」フィールドと「WSDLの場所(URI)」フィールドに値を入力します。

    3. 「拡張モード」チェック・ボックスを選択します。

    4. 「パブリッシュ」をクリックします。

    5. 左ペインのナビゲーション・ツリーで、エンドポイント、バインディング、ポート・タイプを選択し、「"新規"モード」オプションが選択されていることを確認します。

    6. 「パブリッシュ」をクリックします。

32.4.5 複数のパーティションでUDDIにWSDLを発行する方法

Oracle Enterprise Manager Fusion Middleware ControlからWSDLサービスを発行する際には、次の制限があります。

  • 異なるSOAパーティションから、または異なるホストから同じターゲット・ネームスペースで同じサービスを発行することはできません。

  • 独自のサービス・キーを入力するオプションはありません。

かわりに、レジストリ・コンソールを使用して、異なるパーティションにデプロイされている同じWSDLサービスをOSRに発行します。

複数のパーティションのUDDIにWSDLを発行する手順は、次のとおりです。

  1. レジストリ・コンソールにログインします。
  2. 最初のパーティションのWSDLを発行します。
  3. 前述のサービス名を一意の名前に変更します。
  4. 2番目のパーティションのWSDLを発行します。

    これで2つのサービスがOSRに作成されます。