ヘッダーをスキップ
Oracle Fusion Middlewareリリース・ノート
11gリリース1(11.1.1) for Microsoft Windows(32-Bit)
B55923-02
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次

戻る
戻る
 
次へ
次へ
 

25 Oracle SOA SuiteおよびOracle BPM Suiteの一般的な機能

この章では、Oracle SOA SuiteおよびOracle Business Process Management(BPM)Suiteに関連する実行時および一般的な機能の問題について説明します。内容は次のとおりです。

25.1 一般的な問題および回避方法

この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。

25.1.1 OSSO IDアサーション・プロバイダを選択できるようにする方法

OSSOIdentityAsserter認証プロバイダは、デフォルトではOracle WebLogic Server管理コンソールの「新しい認証プロバイダの作成」ペインの「タイプ」リストに選択オプションとして表示されません。

このプロバイダを選択できるようにするには、次の手順を実行します。

  1. Windowsオペレーティング・システムでFMW_Home\user_projects\domains\soainfra\bin\setDomainEnv.batファイルを開きます。

    ここで、FMW_HomeはOracle Fusion Middlewareホームであり、soainfraはドメイン名です。

  2. –Dweblogic.alternateTypesDirの設定を見つけます。

    ORACLE_HOMESOA_HOMEを示しており、modulesサブディレクトリにプロバイダは含まれません。これは、JRF_HOMEoracle_common home)に設定する必要があります。

  3. 次の部分を変更します。

    ALT_TYPES_DIR="${ORACLE_HOME}/modules/oracle.ossoiap_11.1.1,${ORACLE_HOME}
     /modules/oracle.oamprovider_11.1.1" 
    

    変更後は次のようになります。

    ALT_TYPES_DIR="${COMMON_COMPONENTS_HOME}/modules/oracle.ossoiap_11.1.1,$
    {COMMON_COMPONENTS _HOME}/modules/oracle.oamprovider_11.1.1"
    
  4. ファイルを保存して閉じます。

  5. サーバーを再起動します。

  6. Oracle WebLogic Server管理コンソールにログインします。

  7. 「セキュリティ・レルム」「myrealm」「プロバイダ」を選択します。

  8. 「認証プロバイダ」ペインで、「新規」タブをクリックして新規プロバイダを追加します。

    これで、「タイプ」リストにOSSOIdentityAsserterが表示されます。

25.1.2 ADFタスク・フォームのEARファイルのデプロイメント・エラーを解決するためのロックの解放

SOAコンポジット・アプリケーションのJARファイルおよびADFタスク・フォームのEARファイルをデプロイする場合、SOA JARファイルは正常にデプロイされますが、EARファイルのデプロイ時に次のエラーが表示されます。

[wldeploy] weblogic.management.ManagementException: [Deployer:149163]The
domain edit lock is owned by another session in non-exclusive mode - this
deployment operation requires exclusive access to the edit lock and hence
cannot proceed. If you are using "Automatically Aquire Lock and Activate
Changes" in the console, then the lock will expire shortly so retry this
operation.

これは、EARファイルを正常にデプロイするには、最初にOracle WebLogic Server管理コンソールでロックを解放する必要があることを示しています。

  1. Oracle WebLogic Server管理コンソールにログインします。

  2. ページの一番上にあるコンソール・バナーの下で、「プリファレンス」「ユーザー・プリファレンス」をクリックします。

  3. 「ロックを自動取得して変更をアクティブ化」の選択を解除します。

  4. 「保存」をクリックすると、「ロックして編集」「構成の解放」などのボタンが表示されます。

    Oracle WebLogic Server管理コンソールに次の説明が表示されます。

    Automatically acquire the lock that enables configuration editing and
    automatically activate changes as the user modifies, adds and deletes items
     (for example, when the user clicks the 'Save' button). This feature is not
     available in production mode.
    

このエラーは、使用しているデプロイ方法(Oracle JDeveloperを使用したデプロイや、antスクリプトを使用したデプロイなど)とは無関係に発生します。

25.1.3 HTTPバインディング・サービスの使用時に無視する「RESTの有効化」プロパティ

SOAコンポジット・アプリケーションで新規HTTPバインディング・サービスを使用する場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールの「プロパティ」タブにあるこのサービスの「RESTの有効化」プロパティ設定は無視し、変更しないでください。

HTTPバインディング・サービスと既存のWebサービス・バインディング・コンポーネントを混同しないでください。これらのバインディング・コンポーネントには、両方とも「RESTの有効化」プロパティがあります。ただし、Webサービスは、HTTPバインディング・サービスとは異なります。Webサービスでは、「RESTの有効化」プロパティを変更できます。

「プロパティ」タブにアクセスするには、ナビゲータで「soa-infra」を右クリックし、「サービスと参照」を選択します。

バインディング・コンポーネントの構成方法の詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイドに含まれる「サービスおよび参照バインディング・コンポーネントの構成」の章を参照してください。

25.1.4 カスタマイズ・ロールのデフォルト以外のプロジェクト・バージョンで発生するデプロイメント・エラー

カスタマイズ・モードでOracle JDeveloperを実行すると、デフォルト・バージョンではないBPELプロジェクトのデプロイ時にエラーが発生します。

この問題を回避するには、Oracle JDeveloperから同じバージョンを再デプロイします。この段階で、プロジェクトは正常にデプロイされます。

25.1.5 単一のテスト実行で複数のテスト・ケースを実行すると複数のフロー・トレースが表示される問題

Oracle Enterprise Manager Fusion Middleware Controlコンソールの「ユニット・テスト」タブの単一テストで複数のテスト・ケースを実行すると、テスト・ケースごとにインスタンスが作成されます。いずれかのテスト・インスタンスのフロー・トレースを開くと、テスト実行の過程で作成されたすべてのインスタンスの複数のフロー・トレースが、そのフロー・トレースの一部として表示されます。

この問題は、単一のテスト実行の一部として複数のテスト・ケースが実行された場合にのみ発生します。

25.1.6 Oracle Mediatorのコンポジット状態がオフになっている場合に「フローのトレース」リンクが有効になる問題

Oracle Mediatorサービス・コンポーネントの「フローのトレース」リンクが、コンポジット状態がオフの場合に有効になります。これは、Oracle BPEL Process Managerサービス・コンポーネントとは逆の動作です。

たとえば、Oracle Mediatorが含まれるデプロイ済のSOAコンポジット・アプリケーションで次の手順を実行します。

  1. 監査レベルを次の値に設定します。

    • SOAインフラストラクチャ・レベルで「オフ」に設定します。

    • Oracle Mediatorサービス・エンジン・レベルで「本番」に設定します。

    • SOAコンポジット・アプリケーション・レベルで「継承」に設定します。

  2. コンポジットのインスタンスを起動します。

    SOAインフラストラクチャ・レベルは「オフ」に設定されているため、SOAコンポジット・アプリケーションIDは生成されません。サービス・コンポーネント・インスタンスIDのみが生成されます。

  3. Oracle Mediatorサービス・コンポーネント・ページに移動します。

  4. サービス・コンポーネントIDをクリックして、監査証跡ページを表示します。

    ページの左上にある「フローのトレース」リンクが、Oracle Mediatorに対して有効になっています。このリンクをクリックすると、java.lang.IllegalArgumentExceptionが返されます。

25.1.7 参照バインディング・コンポーネントが「ダッシュボード」ページに表示されない問題

SOAコンポジット・アプリケーションに含まれる参照バインディング・コンポーネントが、Oracle BPEL Process ManagerおよびOracle Mediatorサービス・コンポーネントの「ダッシュボード」ページにある「ルーティングの統計」セクションの「参照」サブセクションに表示されません。

25.1.8 Oracle WebLogic Server管理コンソールのSOAインフラストラクチャの状態

Oracle WebLogic Server管理コンソールでSOAインフラストラクチャ・アプリケーションの状態が「警告」と表示されます。ただし、この状態が表示されることによる機能上の損失はありません。

25.1.9 SSL対応のOracle WebLogic Serverに関連するOracle JDeveloperの問題

SSLを使用するようにOracle WebLogic Serverが構成されている場合、Oracle JDeveloperで次のタスクを実行できません。

  • SSL対応のOracle WebLogic ServerでのSOAアーティファクトの参照。

  • SSL対応のOracle WebLogic Serverに対するSOAアーカイブのデプロイ。

回避方法として、これらのタスクを実行する場合は次のツールを使用します。

  • 参照する場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用して必要な情報を取得します。

  • デプロイする場合、ant-sca-deploy.xmlビルド・ファイルを使用してSSL対応サーバーにSOAアーカイブをデプロイします。

25.1.10 MDSから共有スキーマをインポートしてもスキーマ・インポートがコピーされない問題

(スキーマ・インポートが含まれる)MDSから共有スキーマをインポートすると、ベース・スキーマのみがコピーされ、スキーマ・インポートは無視されます。

この問題を回避するには、スキーマを手動でローカライズします。

25.1.11 Microsoft SQL Serverの使用が「相互参照」ページと競合する問題

リポジトリ・データベースとしてMicrosoft SQL Serverを使用している場合、「soa-infra」を右クリックして「SOA管理」「相互参照を選択し、Oracle Enterprise Manager Fusion Middleware Controlコンソールの「相互参照」ページに移動するか、「相互参照」ページで任意のアクションを実行すると、例外エラーが表示されます。

相互参照表を消去する場合、データベースに直接ログインしてデータを削除します。

25.1.12 Microsoft SQL ServerでのSOAインフラストラクチャ監査レベルの設定

リポジトリ・データベースとしてMicrosoft SQL Serverを使用している場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールの「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」「開発」に設定しないことをお薦めします。設定すると、次の例外とともに「Web Invocation failed」というエラーが発生する可能性があります。

java.lang.Exception:
oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException:

この問題を回避するには、「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」「本番」に設定し、SOAコンポジット・アプリケーションのホームページで「コンポジットの監査レベル」「開発」に設定します。

25.1.13 コンポジットが具象WSDLファイルを含む他のコンポジットをコールする場合の問題

具象WSDLファイルを使用する場合、SOAコンポジット・アプリケーションの起動順序は保証されないことに留意してください。

たとえば、あるSOAコンポジット・アプリケーションが具象WSDLファイルを含む2番目のSOAコンポジット・アプリケーションをコールし、最初のSOAコンポジット・アプリケーションが2番目のSOAコンポジット・アプリケーションより前に起動すると、エラーが発生します。この問題は、最初のSOAコンポジット・アプリケーションが2番目のSOAコンポジット・アプリケーションのWSDLファイルをロードできないために発生します。

25.1.14 「ヒューマン・タスクの作成」ダイアログの「タスク・パラメータ」ダイアログにおけるXPath値

「ヒューマン・タスクの作成」ダイアログの「タスク・パラメータ」表からアクセスできる「タスク・パラメータ」ダイアログでは、リーフ・ノードを選択した場合にのみ「XPath」フィールドにXPathの選択が表示されます。たとえば、次の手順を実行します。

  1. ヒューマン・タスクを含むSOAコンポジット・アプリケーションを作成します。

  2. Webサービスなどのサービス・バインディング・コンポーネントを含むヒューマン・タスクを記述します。

  3. ヒューマン・タスク・エディタの「データ」セクションで、ペイロードのタスク・パラメータを作成します。

  4. SOAコンポジット・アプリケーションでBPELプロセスを作成します。

  5. BPELプロセスをダブルクリックしてOracle BPELデザイナを表示します。

  6. 「ヒューマン・タスク」アイコンをプロセスにドラッグします。「ヒューマン・タスクの作成」ダイアログが表示されます。

  7. 「タスク定義」ドロップダウン・リストで、ヒューマン・タスクを選択します。ダイアログがリフレッシュされ、追加フィールドが表示されます。

  8. 「タスク・パラメータ」表でペイロードの「参照」アイコンをクリックします。「タスク・パラメータ」ダイアログが表示されます。

    ここで、リーフ・ノードは選択できますが、リーフ・ノードの上にある要素を選択しても、ダイアログの一番下の「XPath」フィールドにその選択が表示されません。

    回避方法として、次の手順を実行します。

    1. リーフ・ノードを選択して「XPath」フィールドにパス全体を表示します(/client:processResponse/client:resultなど)。

    2. 「XPath」フィールドで、不要な情報を削除するようにパスを編集します(たとえば、/client:processResponseから/client:resultを削除します)。

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

25.1.15 EJB参照バインディング・コンポーネントを通じたコンポジット間のコール

EJB参照バインディング・コンポーネントを通じて2番目のSOAコンポジット・アプリケーションをコールするSOAコンポジット・アプリケーションが存在する場合、EJB参照は、2番目のSOAコンポジット・アプリケーションのデフォルト・リビジョンにバインドされます。2番目のSOAコンポジット・アプリケーションのデフォルト・リビジョンが変更されても(たとえば、2番目のSOAコンポジット・アプリケーションの新規リビジョンがデフォルトとしてデプロイされるなど)、最初のSOAコンポジット・アプリケーションは、引き続きEJB参照がバインドされている2番目のSOAコンポジット・アプリケーションの元のリビジョンをコールします。

回避方法として、SOAサーバーを再起動します。このアクションにより、EJB参照が新規デフォルト・リビジョンにバインドされます。

25.1.16 サービス・コンポーネントおよびSOAコンポジット・アプリケーションのインスタンス状態

複数のサービス・コンポーネント(2つのBPELプロセス・サービス・コンポーネントなど)が含まれるSOAコンポジット・アプリケーションがあるとします。これらのサービス・コンポーネントが次のインスタンス状態でマークされる場合について検討します。

  • 一方のBPELプロセスのインスタンス状態は、完了としてマークされます。

  • 他方のBPELプロセスのインスタンス状態は、失敗としてマークされます。

この結果、コンポジット・インスタンス全体の状態が失敗としてマークされます。この動作は、同じシナリオでコンポジット・インスタンス全体の状態が完了としてマークされるリリース11g PS1と異なります。

子のSOAコンポジット・アプリケーションをコールする親のSOAコンポジット・アプリケーションがあり、子のコンポジットでフォルトが発生し、親のコンポジットによって処理されるとします。この場合、インスタンス状態は次のようになります。

  • 子のコンポジットのインスタンス状態は、失敗としてマークされます。

  • 親のコンポジットのインスタンス状態は、完了としてマークされます。

25.1.17 多くのwhileループが含まれるコンポジットでタイムアウトおよびメモリー・エラーが発生する問題

SOAコンポジット・アプリケーションに多くのwhileループが含まれる場合、多数の監査イベントが累積してタイムアウトまたはメモリー不足エラーが発生することがあります。これらの環境に対応するには、BPELプロセス・サービス・エンジン・レベルで次のプロパティを調整し、BPELプロセス・サービス・エンジン・トランザクションから監査証跡を分離します。

  • auditFlushEventThreshold: サービス・エンジンが監査イベントをフラッシュする頻度を制御します。監査イベントの制限に到達すると、サービス・エンジンは格納コールをトリガーします。このサイズは、アプリケーションに基づいて調整してください。デフォルト値は、300の監査イベントです。

  • auditFlushByteThreshold: バッチの概算サイズを制御します。各イベント後に、詳細サイズを含むサイズが計算されます。バッチ・バイト・サイズの合計がこのプロパティの値を超えると、フラッシュがトリガーされます。デフォルト値は、2MBです。

BPELプロセス・サービス・エンジン・レベルでこのプロパティを設定するには、次の手順を実行します。

  1. 「soa-infra」を右クリックして「SOA管理」「BPELプロパティ」を選択します。

  2. 「詳細BPEL構成プロパティ」をクリックします。

  3. 前述のプロパティをクリックします。

  4. 「値」フィールドで、適切な値を指定して「適用」をクリックします。


注意:

これらのプロパティは、BPELプロセスの監査証跡にのみ影響します。ヒューマン・ワークフロー、ビジネス・ルールおよびOracle Mediatorは、これらの設定によって影響を受けません。

25.1.18 Oracle Database 11.2.0.1および「唯一」レベルで生成される余分なビジネス・イベント

Oracle Mediatorでビジネス・イベントにサブスクライブし、「唯一」の一貫性レベルを選択して、SOAインフラストラクチャ・スキーマでリリース11.2.0.1のOracle Databaseを使用すると、パブリッシュされる最初のイベントによって2つのビジネス・イベントが生成されます。

たとえば、20個のメッセージがパブリッシュされると、サブスクライバでは21個のメッセージを受信します。

この問題は、リリース11.2.0.1のOracle Databaseでのみ発生し、SOAインフラストラクチャ・データベースとSOAサーバーの両方を再起動した後に1回だけ発生します。その後は、正しい数のビジネス・イベントが挿入されます。

25.1.19 リカバリにおけるSOAコンポジット・アプリケーション・インスタンスの一貫性のない状態

SOAコンポジット・アプリケーション・インスタンスがリカバリされる場合、コールバック・メッセージおよびアクティビティは「実行中」として表示されますが、起動メッセージはSOAコンポジット・アプリケーションの「ダッシュボード」タブの「状態」列で「フォルト」として表示されます。

25.1.20 waitアクティビティおよびpickアクティビティのOnAlarmブランチの手動リカバリがサポートされない問題

Oracle Enterprise Manager Fusion Middleware Controlコンソールで、BPELプロセス・サービス・エンジンの「リカバリ」タブからwaitアクティビティまたはpickアクティビティのOnAlarmブランチを手動でリカバリすることはできません。これらの保留アクティビティを取得してリカバリを試行することは可能です。ただし、リカバリは成功しません。

かわりに、これらの保留アクティビティは、BPELプロセス・サービス・エンジンによる日次自動リカバリの一部として、またはSOAサーバーの再起動によって、自動的にスケジュールおよび再試行されます。

25.1.21 解決と未配信の両方の状態にあるコールバック・メッセージのリカバリ

解決と未配信の両方の状態にあるコールバック・メッセージは、リカバリできます。これは所定の動作です。

これらのメッセージは、Oracle Enterprise Manager Fusion Middleware ControlコンソールのBPELプロセス・サービス・エンジンの「リカバリ」タブで、「タイプ」リストから「コールバック」を選択し、「メッセージの状態」リストから「解決」または「未配信」を選択して検索基準を実行したときに、リカバリ用として表示されます。

コールバック・メッセージが最初にBPELプロセス・サービス・エンジンに到着したとき、その状態は未配信です。コールバック・メッセージが、対話IDの一致を通じて、または相関を通じてターゲットのBPELプロセス・インスタンスに対して解決されたとき、その状態は解決に切り替わります。これら両方の状態の場合、メッセージはまだ消費されていません。これら2つの状態にあるメッセージは、リカバリ可能です(消費するためにBPELプロセス・サービス・エンジンに再配信できます)。

他の状況では、コールバック・メッセージは、これら2つの状態を維持したまま処理されない可能性があります。これらの状態にあるメッセージも、リカバリできます。ただし、未処理のコールバック・メッセージが、常に未配信の状態のままである保証はありません。

25.1.22 起動された未配信のリカバリ・メッセージに最終更新日時が表示されない問題

Oracle Enterprise Manager Fusion Middleware ControlコンソールのBPELプロセス・サービス・エンジンの「リカバリ」タブで、「タイプ」リストから「呼出し」を、「メッセージの状態」リストから「未配信」を選択し、「リカバリ」をクリックすると、リカバリが実行されます。ただし、Oracle BPEL Process Managerサービス・コンポーネントまたはサービス・エンジンの「ダッシュボード」ページで、このインスタンスの「最終更新日時」列は空のままです。

これは所定の動作です。Oracle BPEL Process Managerの初期インスタンス(bpel:70004など)は、最初の起動によって作成されるため(つまり、初期インスタンスは作成されるが、まだ変更されていないため)、最終更新日時は表示されません。未配信の起動メッセージのリカバリでは、常に新規インスタンス(bpel:70005など)が作成されます。以前作成されたインスタンス(bpel:70004)は、使用されず、永久に同じステータス(「最終更新日時」列が空)のままとなります。この情報は、監査目的専用です。

25.1.23 監査証跡に表示されるリカバリ・エラー・メッセージ

Oracle Enterprise Manager Fusion Middleware Controlコンソールの「監査証跡」タブにトランザクションがロールバック済として表示される際に、次のエラー・メッセージが表示されます。

The transaction was rolled back. The work performed for bpel instance "instance_
number" was rolled back to the previous dehydration point, but the audit trail has
been saved. You can recover the instance from the recovery console by
resubmitting the callback message or activity for execution

このメッセージは、リカバリがアクティビティまたはコールバックのどちらに基づいて発生するかを具体的に示すものではありません。これは所定の動作です。監査メッセージを通じて各インスタンスをリカバリしないことをお薦めします。かわりに、自動リカバリを設定してこれらのインスタンスをリカバリしてください。

25.1.24 Oracle BPEL Process ManagerおよびOracle BPMでアクティビティ・フォルトが表示されない問題

アクティビティの処理時にフォルトが発生すると、ほとんどの場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールの「service_component_nameのインスタンス」ページにある「フォルト」タブの「アクティビティ」列にそのフォルトのアクティビティの場所が表示されません。

  • Oracle BPEL Process Managerでは、この列にはタイムアウトしたreceiveアクティビティのみが表示されます。それ以外のすべての場合、この列は空です。

  • Oracle BPMでは、この列は常に空です。

これは所定の動作です。

25.1.25 Webベース・アプリケーションにアクセスする場合の問題

Oracle Internet Directory(OID)認証を使用する場合、Webベース・アプリケーションへのログインに失敗する可能性があります。この問題は、Oracle WebLogic Server構成がデフォルト認証より先にOID認証を使用するように設定されている場合に発生します。

この問題により、次のエラーが生成される可能性があります。

"@ User "weblogic" is not found in configuration "jazn.com" Check if the user
 exists in the repository specified by the configurations. Check the error stack
 and fix the cause of the error. Contact oracle support if error is not fixable."

セキュリティ・プロバイダの正しい順序は、次のとおりです。

  1. デフォルト認証

  2. OID/LDAP認証

25.1.26 SOAP 1.2の<stackTrace>フォルト要素がコール元に返されない問題

SOAP 1.2 Webサービスからのフォルトには、<exception>要素の一部として<stackTrace>要素が含まれます。<stackTrace>要素により、フォルトを理解するためのデバッグ情報と支援情報が提供されます。Webサービスをクライアントから直接起動し、フォルトが発生した場合、<stackTrace>要素が提供されます。

ただし、SOAコンポジット・アプリケーションが(BPELプロセスやOracle Mediatorなどを通じて)Webサービスを起動し、フォルトが発生した場合、<stackTrace>要素はコール元に返されません。

これは所定の動作です。

25.1.27 アウトバウンドHTTPバインディングで非UTF8サーバーのマルチバイトURLにアクセスできない問題

次の表で、SOAコンポジット・アプリケーションのインバウンドHTTPバインディング・サービスに関する動詞、ペイロード・タイプおよび操作名の様々な構成と、そのサービスでマルチバイトの名前を使用する場合のデプロイメント問題、および回避方法について説明します。

動詞 ペイロード・タイプ 操作名 デプロイメント環境 回避方法
post url-encoded Request-Response サービスではマルチバイトのサービス名が使用され、非UTF-8エンコーディング・サーバーにプロジェクトがデプロイされます。

UTF-8エンコーディング・サーバーで同じ動詞、ペイロード・タイプおよび操作名の構成にバインドされたアウトバウンドHTTPバインディングによりインバウンドHTTPバインディング・サービスが起動されると、その起動によって次のエラーが返されます。

javax.xml.ws.WebServiceException:
javax.xml.soap.SOAPException: Bad
response: 503 Service Unavailable
from url
英語のサービス名を使用します。
get url-encoded Request-Response サービスではマルチバイトのサービス名、マルチバイトの操作名またはマルチバイトのスキーマ要素名が使用され、非UTF-8エンコーディング・サーバーにプロジェクトがデプロイされます。

UTF-8エンコーディング・サーバーで同じ動詞、ペイロード・タイプおよび操作名の構成にバインドされたアウトバウンドHTTPバインディングによりインバウンドHTTPバインディング・サービスが起動されると、その起動によって次のエラーが返されます。

Bad response: 404
英語のサービス名、英語の操作名または英語のスキーマ要素名を使用します。
get url-encoded Request-Response サービスではマルチバイトのサービス名、マルチバイトの操作名またはマルチバイトのスキーマ要素名が使用され、UTF-8エンコーディング・サーバーにプロジェクトがデプロイされます。

非UTF-8エンコーディング・サーバーで同じ動詞、ペイロード・タイプおよび操作名の構成にバインドされたアウトバウンドHTTPバインディングによりインバウンドHTTPバインディング・サービスが起動されると、その起動によって次のエラーが返されます。

Bad response: 404
英語のサービス名、英語の操作名およびスキーマ要素名を使用します。
post xml Request-Response サービスではマルチバイトのサービス名が使用され、非UTF-8エンコーディング・サーバーにプロジェクトがデプロイされます。

UTF-8エンコーディング・サーバーで同じ動詞、ペイロード・タイプおよび操作名の構成にバインドされたアウトバウンドHTTPバインディングによりインバウンドHTTPバインディング・サービスが起動されると、その起動によって次のエラーが返されます。

javax.xml.soap.SOAPException: Bad response: 503 Service Unavailable from url
英語のサービス名を使用します。

25.1.28 Microsoft SQL Serverおよび相互参照に関するマルチバイト・キャラクタの問題

リポジトリ・データベースとしてMicrosoft SQL Serverを使用し、カスタム・データベース表を定義して相互参照(XREF)を最適化する場合、Microsoft SQL Serverに対するCREATE TABLEコマンドで生成されるDDLに、マルチバイト・キャラクタの問題が発生します。

この問題を回避するには、次の手順を実行して元のSQLスクリプトを変更します。

  1. データ型をTIMESTAMPからDATETIMEに変更します。

  2. データ型をVARCHARからNVARCHARに変更します。

  3. 表名および列名を大文字に変更します。

    たとえば、次の構文を変更します。

    CREATE TABLE xref_untitled1 (
        ROW_ID VARCHAR(48) NOT NULL,
        system1 VARCHAR(100),
        system2 VARCHAR(100),
        LAST_MODIFIED TIMESTAMP NOT NULL
    
    );
    
    CREATE INDEX ROW_ID_IDX ON xref_untitled1(ROW_ID);
    CREATE INDEX system1_idx ON xref_untitled1(system1);
    CREATE INDEX system2_idx ON xref_untitled1(system2); 
    

    次の構文に変更することで、前述の問題を解決します。

    CREATE TABLE XREF_UNTITLED1 (
        ROW_ID NVARCHAR(48) NOT NULL,
        SYSTEM1 NVARCHAR(100),
        SYSTEM2 NVARCHAR(100),
        LAST_MODIFIED DATETIME NOT NULL
    );
    
    CREATE INDEX ROW_ID_IDX ON XREF_UNTITLED1(ROW_ID);
    CREATE INDEX SYSTEM1_IDX ON XREF_UNTITLED1(SYSTEM1);
    CREATE INDEX SYSTEM2_IDX ON XREF_UNTITLED1(SYSTEM2); 
    

相互参照およびカスタム・データベース表の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のカスタム・データベース表の作成に関する項を参照してください。

25.1.29 直接バインディングを起動するJ2SEクライアントのIDの設定

J2SEクライアントでは、次の例のように、直接バインディングの起動時にIDを設定できます。

public static void main(String[] args) throws Exception {
       Invoker invoker = new Invoker();
       String payloadXML="<ns1:process
xmlns:ns1=\"http://xmlns.oracle.com/DirectBinding_jws/EchoBPEL/BPELProcess1\">
" +"\n" +
             "<ns1:input>wew</ns1:input>" + "\n"+
              "</ns1:process>" ;

     String serviceAddress = "soadirect:/default/EchoBPEL!1.0/DService1";
    System.out.println("***** test Sync ****");
     DirectConnectionFactory factory =
JNDIDirectConnectionFactory.newInstance();

     Message<Element> m = getAsyncRequest(payloadXML);
     Map<String, Object> props = new HashMap<String, Object>();
     props.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
     props.put(Context.PROVIDER_URL, "t3://" + hostname + ':' + portname);
    props.put(Context.SECURITY_PRINCIPAL,"xtest-soa1-user");
 props.put(Context.SECURITY_CREDENTIALS,"welcome1");

     DirectConnection conn = factory.createConnection(serviceAddress,
props);

     DirectConnection conn = getConnection(serviceAddress);
     Document doc = DirectBindingXMLUtil.getDocumentFromString(payloadXML);
            Element element = doc.getDocumentElement();
            Map<String, Element> payload = new HashMap<String, Element>();
            payload.put("payload", element);

     Message<Element> m =
XMLMessageFactory.getInstance().createMessage(payload);
     List<Element> headers =
createWSAHeaders("payload:BPELSyncTest:msgID:1234567");
     for( Element e : headers)
         m.addHeader(e);

try {
               ctx = new InitialContext(props);
               conn.request("process", m);
           }
           finally
           {
               if (null != ctx) ctx.close();
           }

    //System.out.println(ret);

   } 

前述の例の要点は、次のとおりです。

  • 直接接続を呼び出す前のセキュリティ・プリンシパル/プリンシパル資格証明を使用したInitialContextの作成。これにより、ログインを実行します。

  • InitialContextのクローズ。これにより、ログアウトを実行します。

    try {
                   ctx = new InitialContext(props);
                   conn.request("process", m);
               }
               finally
               {
                   if (null != ctx) ctx.close();
               } 
    

    直接バインディングの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「直接バインディング起動APIの使用」の章を参照してください。

25.1.30 Oracle BPM Worklistで添付したURLファイルが電子メール添付ファイルとして送信されない問題

Oracle BPM WorklistでURLファイル(http://www.oracle.com/technology/products/oem/management_partners/snmpwp6.gifなど)を添付しても、そのファイルは電子メール添付ファイルとして送信されません。かわりに、このファイルは、電子メール通知のタスク詳細にハイパーリンクとして表示されます。ただし、デスクトップ・ファイルを添付した場合、そのファイルはタスク通知に個別の添付ファイルとして表示されます。

25.1.31 手動リカバリを待機している障害インスタンスが実行中インスタンスとして表示される問題

実行中インスタンスを検索すると、手動リカバリを待機している障害インスタンスが表示されます。たとえば、SOAコンポジット・アプリケーションの「インスタンス」ページに移動して、実行中インスタンスを検索するために検索基準を指定すると、手動リカバリを待機している障害インスタンスが表示されます。

25.1.32 antデプロイメントでSpringコンポーネントが含まれるコンポジットの起動に失敗する問題

Springコンテキスト・サービス・コンポーネントが含まれるSOAコンポジット・アプリケーションは、antデプロイメント・スクリプトを使用したデプロイ時に起動されると、障害が発生する可能性があります。次のNullPointerExceptionエラーが返されることがあります。

<oracle.integration.platform.blocks.java> <SOA-31701> <Failed to convert Java 
payload to XML.  Exception follows.  [Interface=myservice.EchoPortType 
Method=echoText]> 
<Feb 26, 2010 4:02:29 PM PST> <Warning> 
<oracle.integration.platform.blocks.java> <BEA-000000> <Detail: 
java.lang.NullPointerException 
        at 
weblogic.wsee.databinding.spi.util.WsRuntimeWrapper.init(WsRuntimeWrapper.java 
:32)
. . .
. . .

このエラーは、JAXBクラスがSARファイルでコンパイルされていないために発生します。

回避方法として、次のようにコンパイルの前にpackage-info.javaファイルをタッチします。

<target name="composite-compile"  if="spring.deployment" > 
   <echo message="compiling ${my.project}/${compositeName}/src" /> 
 <!--    CHANGE THAT CAUSES TEST TO SUCCEED --> 
   <touch> 
 <fileset dir="${my.project}/${compositeName}/src/myservice" 
 includes="**/package-info.java"/> 
 </touch> 
   <javac destdir="${my.project}/${compositeName}/SCA-INF/classes" 
    fork="yes" debug="on" compiler="javac1.6"  > 
        <src path="${my.project}/${compositeName}/src/myservice" /> 
        <src path="${my.project}/${compositeName}/src/springws" /> 
 . 
   </javac> 

25.1.33 ロールバックが発生してもトランザクション・アダプタ・ステータスが完了として表示される問題

ビジネス・フォルトまたは例外のためにトランザクションのロールバックが発生した場合に、トランザクション・アダプタのインスタンス試行でロールバックが発生したかどうかが示されません。

たとえば、データベース・アダプタ・サービスを起動する非同期BPELプロセスがあるとします。アサート式は、invokeアクティビティで定義されます。アサート式によってfalseが返された場合、すべてのトランザクション起動はロールバックされる必要があります。ただし、フロー・トレースでは、データベース・アダプタ・サービスに対して完了のステータスが表示されます。

25.1.34 フロー・ダイアグラムに一部の下位エンド・ホストの初回時点が表示されない問題

Oracle Enterprise Manager Fusion Middleware Controlコンソールで、デプロイ済SOAコンポジット・アプリケーションのインスタンスIDのフロー・ダイアグラムに、一部の下位エンド・ホストの初回時点が表示されないことがあります。かわりに、「リソースロードに失敗しました」というメッセージが返されます。

この問題を回避するには、フロー・トレース・ページを一度閉じ、インスタンスIDをクリックしてフロー・トレース・ページに戻ります。

25.1.35 Safariブラウザを使用してWSDLファイルの内容を表示する場合の制限事項

Safariブラウザを使用してOracle Enterprise Manager Fusion Middleware ControlコンソールでWSDLファイルの内容を表示する場合、次の制限事項および回避方法を確認してください。Mozilla Firefoxは正常に動作するため、この回避方法は必要ありません。

  1. SOAコンポジット・アプリケーションのホームページに移動します。

  2. ページの一番上にある「WSDLおよびエンドポイントURIの表示」をクリックします。

  3. 表示されたWSDLリンクをクリックします。

    この操作で、選択したWSDLの内容が表示されていない空白のページが開きます。回避方法として、次の追加手順を実行します。

  4. このページの右上隅で、現在のページのメニューを表示するアイコンをクリックします。

  5. 表示されたメニューからソースの表示を選択します。

    この操作により、選択したWSDLの内容が別のページに表示されます。

25.1.36 コンポジットをプログラムにより一括デプロイする場合の制限事項

oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerClientを使用して複数のSOAコンポジット・アプリケーションをプログラムにより一括してデプロイする場合、およそ85個のコンポジットのデプロイが成功した後、残りのコンポジットのデプロイに関してSOAサーバー・ログ・ファイルにメモリー不足エラーが記録され、SOAサーバーがハングします。

25.1.37 SSO対応のOracle Enterprise Managerからのコンポーネントへのアクセス

SSO対応のOracle Enterprise Manager Fusion Middleware Controlコンソールにログインし、次のコンポーネントのリンクをクリックすると、これらのコンポーネントに対応する非SSO URLに移動し、再度ログインするよう求められます。

  • Oracle BPM Worklist

  • Oracle B2B

  • Oracle BAM

  • SOAコンポーザ

25.1.38 障害インスタンスのBPELリカバリ後にコンポジットの状態が更新されない問題

BPELサービス・エンジンの「リカバリ」ページでリカバリの実行に成功した後、障害の発生したSOAコンポジット・アプリケーション・インスタンスの状態が更新されません。たとえば、次の手順を実行します。

  1. Oracle Enterprise Manager Fusion Middleware Controlコンソールの「SOAインフラストラクチャの共通プロパティ」ページでペイロード検証を有効化します。

  2. SOAコンポジット・アプリケーションのインスタンスを起動します。スキーマの必須要素が欠落しているなどの理由でペイロード検証に失敗すると、invokeアクティビティの実行時にBPELサービス・コンポーネント・レベルで障害が発生します。

    インスタンスは、コンポジットの「ダッシュボード」および「インスタンス」ページで失敗として表示されます。

  3. BPELサービス・エンジンの「リカバリ」ページに移動すると、同じインスタンスがリカバリを待機しています。

  4. 「SOAインフラストラクチャの共通プロパティ」ページでペイロード検証を無効化します。

  5. BPELサービス・エンジンの「リカバリ」で、インスタンスを選択して「リカバリ」をクリックします。この操作によってインスタンスがリカバリされます。

  6. フロー・トレースで完了したインスタンスを表示します。このとき、インスタンスの状態は更新されておらず、失敗として表示されたままですが、実際にはインスタンスは正常にリカバリされ、完了しています。

    これは所定の動作です。BPELリカバリによって新規BPELインスタンスが作成され、そのインスタンスは正常に完了しています。ただし、前のBPELインスタンス(スキーマ検証に失敗したインスタンス)は、失敗として表示されたままです。2つのコンポーネント・インスタンスのうちの1つ(前のBPELインスタンス)が失敗しているため、コンポジット・インスタンス全体が失敗とみなされます。

25.1.39 システムMBeanブラウザでの物理ディレクトリ・プロパティの変更の保存

システムMBeanブラウザでファイルまたはFTPアダプタの物理ディレクトリ・プロパティを変更しても、「操作」タブの「保存」属性を選択するまでその変更は反映されません(手順8および9を参照)。次のすべての手順を実行してください。

  1. ナビゲータで、「soa-infra」を右クリックし、「管理」「システムMBeanブラウザ」を選択します。

  2. 「アプリケーション定義のMBean」「oracle.soa.config」「Server: server_name「SCAComposite」「deployed_SOA_composite_application_name」「SCAComposite.SCAReference.SCABinding」「AdapterBinding」の順に移動します。

  3. 「属性」タブをクリックします。

  4. 「プロパティ」をクリックします。

  5. 適切なアダプタ・エンドポイント値が含まれるelement_numberフォルダを開きます(element0element_1element_2など)。

  6. 物理ディレクトリ値をそれぞれ変更し、「適用」をクリックします。

  7. 「戻る」をクリックします。

  8. 「操作」タブをクリックします。

  9. 「保存」をクリックします。この操作により、変更が永続化されます。

25.1.40 「テキストの設定」ダイアログの余分な文字の削除

Oracle JDeveloperの「テキストの編集」ダイアログの「テキスト」フィールドに&amp;を追加すると、XSLファイルに余分な文字が追加されます。たとえば、次の手順を実行します。

  1. XSLTマッパーで、ターゲット・ペインの文字列要素を右クリックします。

  2. 「テキストの設定」「テキストの入力」を選択します。

  3. 「テキストの編集」ダイアログで、「テキスト」フィールドに&amp;を入力して「OK」をクリックします。

  4. XSLファイルの「ソース」ビューに移動すると、余分なamp;が追加されています。

    <xsl:text disable-output-escaping="no">&amp;amp;</xsl:text>
    

この問題を回避するには、XSLファイルの「ソース」ビューで、前述の手順で追加された余分な文字のamp;を削除します。「ソース」ビューは次のようになります。

<xsl:text disable-output-escaping="no">&amp;</xsl:text>

25.1.41 移行後にWSDLバインディングの追加および更新に失敗する問題

Oracle JDeveloperを起動してWSIFバインディング情報が含まれる10.1.3アプリケーションをリリース11gに移行しようとすると、移行によって、composite.xmlファイルにWSDLバインディング情報(binding.wsif)が含まれないWebサービス参照が作成されます。その後、Oracle JDeveloperで同じWSDLが含まれる参照を更新しようとしても、バインディング情報は保存されず、コンパイル・エラーが返されます。

この問題は、Oracle JDeveloperが一般的な移行事例を処理する際に、参照が新しいWSDLの場所で更新されるために発生します(同じWSDLですが、異なる場所に存在します)。したがって、WSDLの場所を変更しなければ、何も起こりません。

回避方法として、次のいずれかの手順を実行します。

  1. 参照を削除し、同じWSDLを使用して新しい参照を作成します。

  2. (最も簡単な方法)内容は変更せずにWSDLを異なるファイル名でコピーします。次に、このWSDLのコピーを使用して参照を更新します。これにより、WSDLの場所が変更され、binding.wsが正常に作成されます。

25.1.42 アーティファクトのソース・コントロールへの格納およびantユーティリティによるデプロイ

アプリケーション・アーティファクトをソース・コントロール・システムに格納し、antを使用したデプロイに後で再利用する場合、アプリケーションにメタデータ・サービス(MDS)ベースの参照があるときは次の変更が必要です。

元のOracle JDeveloperアプリケーションに、次のようなファイルベースのMDS参照があるとします。

<metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
              <property value="${oracle.home}/integration" 
                        name="metadata-path"/>   
              <property value="seed" name="partition-name"/> 
            </metadata-store> 

次に示すようにApplication_Directory/.adf/META-INF/adf-config.xmlファイルでこのコードをデータベース・ベースのMDS参照に変更します。

<metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
              <property name="jdbc-userid" value="${mdsuser}"/> 
 <property name="jdbc-password" value="${mdspassword}"/> 
              <property name="jdbc-url" 
value="jdbc:oracle:thin:@${db.host.name}:${db.host.port}:${db.sid}"/> 
               <property name="partition-name" value="soa-infra"/> 
            </metadata-store> 

これらのadf-config.xmlエントリで変更されたアプリケーションをソース・コントロール・システムにチェックインします。次に、変更されたadf-config.xmlの具体的な例を示します。

 <metadata-store-usage id="mstore-usage_1"> 
            <metadata-store 
class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
              <property name="jdbc-userid" value="soainfra_mds"/> 
              <property name="jdbc-password" value="soainfra_mds"/> 
              <property name="jdbc-url" 
value="jdbc:oracle:thin:@myhost56.us.oracle.com:15739:db2825"/> 
              <property name="partition-name" value="soa-infra"/> 
            </metadata-store> 

ユーザーIDとパスワードに変数を使用し、antデプロイの前にアプリケーションで値を置換できます。

MDSデータベースにJNDI名がある場合、adf-config.xmlで次のエントリを使用します。

<metadata-store 
  class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> 
     <property name="jndi-datasource" value="${db.jndi.name}"/> 
     <property name="partition-name" value="soa-infra"/> 
</metadata-store> 

25.1.43 BPELのグローバル・トランザクションとアダプタのローカル・トランザクションでの問題の理解

BPELプロセスはグローバル・トランザクションで実行されますが、アダプタなどの他のOracle SOA Suiteコンポーネントはローカル・トランザクションで実行されます。これによって、Oracle Enterprise Manager Fusion Middleware Controlで表示される情報に矛盾が生じることがあります。

たとえば、非同期BPELプロセスを起動するメインの同期BEPLプロセスがあるとします。非同期BPELプロセスの起動前に、メイン同期BPELプロセスでデータベース・アダプタ挿入が1つあります。非同期BPELプロセスで2番目のデータベース・アダプタ挿入があり、この時点でフォルトが発生すると想定します。

想定される動作は次のとおりです。

  • データベースへの最初の挿入はメイン・プロセスから実行され、想定どおり正常に完了します。

  • 2番目の挿入も非同期プロセスで実行されますが、フォルトの発生後BPELプロセスで最初の挿入をロールバックします。

しかし、Oracle Enterprise Manager Fusion Middleware Controlコンソールで、2番目のデータベース挿入も(フォルトではなく)正常に完了したと表示されます。

これは、データベース・アダプタの起動が、グローバルBPEL JTAトランザクションに含まれないローカル・トランザクションで記録(インスタンスの追跡)されるためです。このため、データベース・アダプタの起動は正常に完了しますが、後続のBPELプロセスでグローバル・ロールバックが行われます。

<invoke name="Invoke_1" inputVariable="Invoke_1_insert_InputVariable" 
   partnerLink="db" portType="ns1:db_ptt" operation="insert"/> 
. . .
. . .
   <throw name="Throw_2" faultName="bpelx:rollback"/>

この時点で、インスタンス・トラッキングはすでにアウトバウンド起動を(ローカル・トランザクションで)成功と記録しています。アダプタが例外をスローすると、インスタンス・トラッキングはこれをフォルトと記録します。一部のパートナ・リンクはファイル・アダプタを起動し、BPELプロセスが後でbpelx:rollbackをスローしてもファイル・アダプタがロールバックされないことに注意してください。

25.1.44 データソースJNDIフィールドの説明が入れ替わる問題

Oracle Enterprise Manager Fusion Middleware Controlコンソールの「SOAインフラストラクチャの共通プロパティ」ページで「サーバー・データ・ソースJNDI」「サーバー・トランザクション・データ・ソースJNDI」の説明が入れ替わっています。ただし、「構成」リンクは正しく機能します。

25.1.45 同じロールを同じユーザーに2回付与すると不明瞭なWLSTメッセージが表示される問題

  1. Oracle WebCacheでドメインを作成し、Oracle SOA Suiteで拡張します。

  2. WebLogic Scripting Tool(WLST)を使用してOracle Internet DirectoryでOracle WebCacheアプリケーションとLDAPを関連付け、ユーザー(ユーザー名testなど)に管理ロールを付与します。

  3. 同じロール(管理ロール)を同じユーザー(test)に再度付与します。

    次のようなWLSTエラー・メッセージが表示されるはずです。

    This particular user already has admin role to access your application
    

    かわりに次のメッセージが表示されますが、これは正しくありません。

    Command FAILED, Reason: Cannot add principal to application role
    

25.1.46 フォルト・ポリシー再試行アクションが同じフロー内の複数フォルトで実行されないことがある問題

フォルト・ポリシー再試行アクションは、同じフロー内の複数フォルトで実行されないことがあります。これは、以前のフォルトで再試行数に達していることが原因の場合があります。

たとえば、fault1fault2の2つのフォルト条件でフォルト・ポリシーを定義するとします。両フォルト条件とも、再試行アクションに再試行数は3と指定されています。fault1が起こり、再試行アクションが3回実行されたとします。ペイロードを変更してfault1の問題を修正しますが、インスタンスを再発行すると、fault2が発生するようにします。Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用してフォルトが発生したインスタンスを再発行します。フォルト・ポリシーの指定どおり、2番目のフォルト条件fault2で3回再試行されることが見込まれます。しかし、その前のfault1フォルト条件で最大再試行回数がすでに実行されているため、これは起こりません。

25.1.47 トランザクションの完了後メディエータ・インスタンスが実行中と表示されることがある問題

メディエータ・サービス・コンポーネントは、インスタンスがリカバリ可能かどうかの判断をローカル・トランザクションの正常なコミットに依存します。グレースフル・シャットダウンが正常に行われ、すべてのトランザクションの(特定のタイムアウト・ウィンドウ内での)完了が許可されている場合でも、タイムアウト・ウィンドウ内での発生に失敗したため、拒否されるローカル・トランザクションがあります。たとえば、次のように仮定します。

  1. データベース・アダプタがメッセージをポストします。

  2. メディエータ・サービス・コンポーネントがメッセージを受信し、状態を実行中に設定してBPELプロセス・サービス・コンポーネントを起動し、その状態も実行中に設定します。

  3. JMSアダプタが起動され、例外が発生します。参照フォルト表が更新されます。

  4. BPELプロセスが例外を受け取り、フォルトで終了として状態をマークして、メディエータに例外を再スローします。

  5. グローバル・トランザクションがロールバックされると、BPELプロセスが監査情報の非同期永続をトリガーします。

  6. メディエータが例外を受け取り、エラー表に(別のローカル・トランザクションで)フォルト情報を残します。

  7. メディエータが状態をフォルトに設定します。

トランザクションの完了前(ステップ5から7の間)にサーバーを停止すると、メディエータ・インスタンスが実行中の状態のままになることがあります。コンポーネントから状態が導出される、対応するコンポジット・インスタンスも実行中と表示されます。グローバル・トランザクションがロールバックされると、インバウンド・アダプタによってメッセージが再試行され、再処理されます。このシナリオでは、メディエータ・インスタンスは失われないことに注意してください。

25.1.48 コール元BPELプロセスでのビジネス・フォルトとリモート・フォルト処理

設計時、BPELプロセスでビジネス・フォルトとリモート・フォルトの両方を処理することをお薦めします。コール元BPELプロセスでリモート例外が処理されない場合、SOAコンポジット・アプリケーション・インスタンス全体の状態と、コンポジットに関連付けられているサーバー・コンポーネント・インスタンスの状態が矛盾します。たとえば、コンポジット・インスタンスはフォルト状態でサービス・コンポーネント・インスタンスは完了状態という状況になることもあります。コール元でリモート例外を処理する場合、コンポジットとコンポーネント・インスタンスの状態は正確です。

25.2 構成の問題および回避方法

この項では、構成に関する問題およびその回避方法について説明します。内容は次のとおりです。

25.2.1 フォルト・ポリシー・ファイルでのora-javaオプションの明示的な定義

定義されたフォルト・ポリシー/バインディングを使用してSOAコンポジット・アプリケーションを起動し、Oracle Enterprise Manager Fusion Middleware Controlコンソールでリカバリ可能なフォルトを表示するとします。正常なフォルト・リカバリ再試行の実行後、「process_nameのインスタンス」ページの「フォルト」タブの「再試行成功後」リストで、デフォルトで選択できるora-javaオプションがありません。

これは所定の動作です。ora-javaオプションを表示するには、設計時にfault-policies.xmlファイルでこのオプションを明示的に定義する必要があります。たとえば、次の手順を実行します。

  1. fault-policies.xmlファイルを作成し、そのfault-policies.xmlファイルに明示的にretrySuccessAction ref="ora-java"/>を追加します。

    <Action id="ora-retry">
       <Retry>
          <retryCount>3</retryCount>
          <retryInterval>2</retryInterval>
          <exponentialBackoff/>
          <retryFailureAction ref="ora-java"/>
          <retrySuccessAction ref="ora-java"/>
       </Retry>
    </Action> 
    
  2. コンポジットをデプロイし、インスタンスを作成します。

  3. コンポジット・インスタンスをクリックしてコンポジットのインスタンス・トレースを起動します。リカバリ可能なフォルトが存在するコンポーネントをクリックします(Oracle BPEL Process Manager、Oracle Mediator、Oracle BPMなど)。「フォルト」タブに移動します。

  4. 「再試行」オプションを選択してフォルトを正常に再試行します。

    フォルト・リカバリに成功すると、「再試行成功後」リストが表示されます。

  5. リストを選択すると、ora-javaオプションがリストされています。

25.2.2 データベースの接続プール・タイムアウト・エラーの解決

SOAコンポジット・アプリケーションをデプロイし、複数の接続スレッド(Oracle BPM Worklistでのワークリスト承認用の多数のスレッドなど)を使用する複数のインスタンスを作成すると、次のような接続プール・タイムアウト・エラーが返されることがあります。

[EL Warning]: 2009-05-02 21:27:08.101--UnitOfWork(58549762)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 1.1.1.v20090407-r3867):
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain
@ XAConnection weblogic.common.resourcepool.ResourceDeadException:
@ 0:weblogic.common.ResourceException: Got minus one from a read call
Error Code: 0
Query:
InsertObjectQuery(com.collaxa.cube.persistence.dto.DeliveryDocumentRef@8cf1b90
) 

これらのエラーが発生すると、データベースではその接続が切断されます。

この問題を回避するには、データソース・ファイルでSOADataSourceに対して定義されているoracle.net.CONNECT_TIMEOUTプロパティをより大きな値に設定します(20000ミリ秒など)。

<property>
  <name>oracle.net.CONNECT_TIMEOUT</name>
  <value>20000</value>
</property>

25.2.3 Oracle Fusion Middleware 11gでの暗号化および復号化

Oracle Fusion Middlewareリリース11gには、Oracle BPEL Process Managerリリース10.1.3.5のプロパティと同様の、暗号化および復号化のための同等プロパティはありません。かわりに、暗号化および復号化は、Oracle Web Services Manager(OWSM)ポリシーをアタッチすることで実行します。OSWMは、Oracle SOA Suiteリリース11gに含まれます。

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

  • 『Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド』

  • Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイド

  • 『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「ポリシーによるセキュリティの有効化」の章

25.2.4 異なるパーティションにデプロイされたWSDLサービスのOSRへの公開

異なるパーティションにデプロイされた同じWSDLサービスをOracle Service Registry(OSR)に公開するには、次の手順を実行します。

  1. OSR Webコンソールにログインします。

  2. 第1パーティションのWSDLを公開します。

  3. 前述のサービスの名前を一意の名前に変更します。

  4. 第2パーティションのWSDLを公開します。

    この操作により、OSRに2つの個別サービスが作成されます。

25.2.5 SOAインフラストラクチャのかわりに停止および起動する管理対象サーバー

ベスト・プラクティスとして、SOAインフラストラクチャ・アプリケーションを停止および起動するかわりに、Oracle SOA Suiteの管理対象サーバーを停止および起動してください。SOAインフラストラクチャ・アプリケーションを停止および起動すると、Oracle Enterprise Manager Fusion Middleware Controlコンソールが適切にロードするうえで問題が発生する可能性があります。

25.2.6 最適化が有効な場合にサポートされないWS-ATトランザクション

Webサービス・バインディング・コンポーネントは、「Webサービスの作成」ダイアログの「トランザクション参加」ドロップダウン・リストで、WS-ATトランザクションをサポートするサービスまたは参照として構成できます。WS-ATトランザクションは、oracle.webservices.local.optimizationプロパティがfalseに設定されている場合に、コンポジットからWebサービスを(またはWebサービスからコンポジットを)コールする環境でサポートされます。

WS-ATトランザクションは、oracle.webservices.local.optimizationプロパティがfalseに設定されていても、コンポジット間のコールではサポートされません。

oracle.webservices.local.optimizationプロパティの詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイドを参照してください。

25.2.7 一括フォルト・リカバリ・ジョブのステータスの問合せ

ログ・メッセージを通じて一括フォルト・リカバリ・ジョブのステータス(スケジュール済、進行中、失敗、結果記録済など)を問い合せるには、oracle.soa.management.util.async.AsynchronousJobSchedulerロガーを構成します。

  1. Oracle WebLogic Server管理サーバー・ドメイン・ホーム内で、domain_home\config\fmwconfig\servers\AdminServer\logging.xmlを開きます。

    ここで、domain_homeは、ドメインへのディレクトリ・パスです。

  2. oracle.soa.management.util.async.AsynchronousJobSchedulerロガーを追加します。

  3. ジョブ・ステータスの更新を出力するためにログ・レベルをTRACE:1に設定します。

    構文は次のようになります。

    <loggers>
        ...
        <logger name='oracle.soa.management.util.async.AsynchronousJobScheduler'
     level="TRACE:1" />
    </loggers>
    
  4. Oracle WebLogic Server管理サーバーを再起動して変更を反映します。

    次のようなログ出力が生成されます。

    [2010-04-21T16:32:30.128-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     processJob] Processing asynchronous BulkFaultRecovery job
     105ab343-7fbd-4a82-a167-7d794f0801e4
    [2010-04-21T16:32:30.131-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     updateJobStatus] Updated status for asynchronous job
     105ab343-7fbd-4a82-a167-7d794f0801e4 : incomplete
    
    [2010-04-21T16:32:39.790-07:00] [AdminServer] [TRACE] []
     [oracle.soa.management.util.async.AsynchronousJobScheduler] [tid: SOA Fabric
     Asynchronous Job Processor] [userId: weblogic] [ecid: 0000IWYhmvq1FgB_
    JXc9yf1BnsUK00002B,1:28285] [SRC_CLASS:
     oracle.soa.management.util.async.AsynchronousJobScheduler] [APP: em] [dcid:
     63062c26f939c426:-245c1ca7:12822aa19a3:-8000-00000000000000ee] [SRC_METHOD:
     updateJobStatus] Updated status for asynchronous job
     105ab343-7fbd-4a82-a167-7d794f0801e4 : complete
    

25.2.8 Oracle BPEL Process Managerの自動リカバリ構成

Oracle Enterprise Manager Fusion Middleware Controlコンソールでは、Oracle SOA Suiteによる自動リカバリ機能を使用して、次の要素を構成およびリカバリできます。

  • 有効期限が関連付けられており、SOAインフラストラクチャの再スケジュールが予定されているすべてのアクティビティ(たとえば、waitアクティビティや、pickアクティビティのOnAlarmブランチなど)

  • 指定されたしきい値の時間を超えても完了していないすべてのアクティビティ

  • 未解決のすべての起動およびコールバック・メッセージ

自動リカバリを構成するには、次の手順を実行します。

  1. ナビゲータで、「soa-infra」を右クリックして「SOA管理」「BPELプロパティ」を選択します。

  2. 「詳細BPEL構成プロパティ」をクリックします。

  3. 「名前」列で、「RecoveryConfig」をクリックします。

  4. 「RecurringScheduleConfig」を開きます。

    このセクションで、定期的なリカバリ試行を構成できます。

  5. 現在の環境に適した値を次のプロパティに設定し、「適用」をクリックします。

    プロパティ 説明
    maxMessageRaiseSize 定期的なリカバリ試行ごとに発行するメッセージの最大数。このプロパティを使用して、サーバーに対するリカバリの影響を制限します。この値では、アクティビティ、起動およびコールバック問合せからフィルタするメッセージの最大数を指定します。つまり、アクティビティ、起動およびコールバック表のそれぞれから50個のメッセージがフィルタされます。

    デフォルト値は50です。負の値を指定すると、データベースから選択されたすべてのメッセージがリカバリ時に発行されます。0(ゼロ)の値を指定すると、メッセージはデータベースから選択されません(事実上のリカバリの無効化)。

    startWindowTime 日次リカバリ・ウィンドウの開始時間(24時間制表記で指定)。つまり、午後2:00は14:00と指定します。1桁の時間値(1:009:00)の先頭に0(ゼロ)を指定する必要はありません。

    デフォルト値は真夜中(00:00)です。解析された時間値が無効な場合、すべて真夜中にデフォルト設定されます。

    stopWindowTime 日次リカバリ・ウィンドウの終了時間(24時間制表記で指定)。つまり、午後2:00は14:00と指定します。1桁の時間値(1:009:00)の先頭に0(ゼロ)を指定する必要はありません。

    日次リカバリが不要な場合、ウィンドウの開始時間と終了時間を同じ値に設定します。ウィンドウの終了時間が開始時間より早い場合、ウィンドウの開始時間と終了時間は両方ともそれぞれのデフォルト値に変更されます。

    デフォルト値は真夜中(04:00)です(事実上、この設定で定期リカバリは04:00まで実行されます)。

    解析された時間値が無効な場合、すべて00:00にデフォルト設定されます。

    subsequentTriggerDelay 日次の定期的な起動時リカバリ期間中のリカバリ試行間の秒数。次回のリカバリ・トリガーが現在のリカバリ期間の範囲外になる場合、そのトリガーは、次回の定期リカバリ期間(翌日)までスケジュールされません。

    デフォルト値は300(5分)です。負の値を指定すると、デフォルト値が選択されます。

    threshHoldTimeInMinutes これは、自動リカバリ処理のために無視するしきい値の時間(分単位)です。自動起動およびコールバック・リカバリでは、この値を使用して、しきい値の時間に到達していない受信日付を持つメッセージを選択します。

    自動アクティビティ・リカバリでは、この値を使用して、しきい値の時間に到達していない変更日付を持つアクティビティを選択します。

    デフォルト値は10分です。負の値を指定すると、デフォルト値が選択されます。


  6. 「StartupScheduleConfig」を開きます。

    このセクションで、サーバー起動時のリカバリ試行を構成できます。

  7. 現在の環境に適した値を次のプロパティに設定し、「適用」をクリックします。

    プロパティ 説明
    maxMessageRaiseSize 起動時のリカバリ試行ごとに発行するメッセージの最大数。このプロパティを使用して、サーバーに対するリカバリの影響を制限します。この値では、アクティビティ、起動およびコールバック問合せからフィルタするメッセージの最大数を指定します。つまり、アクティビティ、起動およびコールバック表のそれぞれから50個のメッセージがフィルタされます。

    デフォルト値は50です。負の値を指定すると、データベースから選択されたすべてのメッセージがリカバリ時に発行されます。0(ゼロ)の値を指定すると、メッセージはデータベースから選択されません(事実上のリカバリの無効化)。

    startupRecoveryDuration 起動時のリカバリ期間を維持する秒数を指定します。サーバーの起動後に、起動時のリカバリ期間に移行します。この期間中、保留アクティビティと、未配信のコールバックおよび起動メッセージは、処理のために再発行されます。

    デフォルト値は600(10分)です。負または0(ゼロ)の値を指定すると、起動時のリカバリは無効になります。

    subsequentTriggerDelay サーバー起動時のリカバリ期間中のリカバリ試行間の秒数。次回のリカバリ・トリガーがサーバー起動時の期間の範囲外になる場合、そのトリガーはスケジュールされず、サーバーは定期的なリカバリ期間に移行します。

    デフォルト値は300(5分)です。負の値を指定すると、デフォルト値が選択されます。



注意:

クラスタでは、異なるノードで同じ項目の自動リカバリを同時に試行できます。項目をロックした最初のノードでリカバリが試行されますが、他のノードでは無視して問題のない例外が返されることがあります。

25.2.9 Oracle BPM Suiteのフロー・トレースにおけるNLSの問題

Oracle Enterprise Manager Fusion Middleware Controlコンソールには、Oracle BPM Suiteのローカライズ・アクティビティ・ラベルに関して次の問題が存在します。

  • 「フローのトレース」Processのインスタンス」「フロー」の下

    ローカライズ・アクティビティ・ラベルは、ブラウザ言語に従って正しくロードされません。英語が使用可能なローカライズ・ラベルが存在する場合、すべての言語で英語のラベルがロードされます。英語が使用可能なローカライズ・ラベルが存在しない場合、すべての言語でデフォルト言語のラベルがロードされます。

  • 「フローのトレース」Processのインスタンス」「監査証跡」の下

    ローカライズ・ラベルは、ブラウザ・ロケールに従って正しくロードされます。ただし、対応するローカライズ・ラベルが存在しない場合、ローカライズ・ラベルのリストにある最初のラベルが使用されます。この場合、各アクティビティの最初のロケールが常に同じであるとはかぎらないため、翻訳で問題が発生する可能性があります。

25.2.10 Oracle BPM Suiteの測定の有効化および無効化

測定では、プロセス内またはプロセスのセクション内の特定のポイントでビジネス・インジケータを測定できます。

Oracle BPM Suiteの測定は、Oracle Enterprise Manager Fusion Middleware Controlコンソールで、サービス・エンジン・レベルと個別コンポジット・レベルの両方で有効化または無効化できます。サービス・エンジン・レベルの設定は、コンポジット・レベルの設定に優先します。つまり、BPMNサービス・エンジン・レベルで測定が無効化されると、すべてのレベルですべての測定が無効化されます。サービス・エンジン・レベルで測定を有効化すると、個別コンポジット・レベルでの測定の設定が使用できるようになります。このプロパティは、BPELプロセス・センサーを有効化または無効化するプロパティと機能的に類似しています。

BPMNサービス・エンジン・レベルでこのプロパティを設定するには、次の手順を実行します。

  1. 「soa-infra」を右クリックして「SOA管理」「BPMNプロパティ」を選択します。

  2. 「詳細BPMN構成プロパティ」をクリックします。

  3. 「名前」列で、「disableSensors」をクリックします。

  4. 「値」リストで、適切な値を選択して「適用」をクリックします。デフォルト値は「false」です。この値を「true」に設定すると、センサーに対するすべてのコールがすべてのレベルで無効化されます。

個別コンポジット・レベルでこのプロパティを設定するには、次の手順を実行します。

  1. ナビゲータで「soa-infra」を右クリックし、「管理」「システムMBeanブラウザ」を選択します。

  2. 「アプリケーション定義のMBean」「oracle.soa.config」「Server: server_name「SCAComposite」「composite_name」の順に開きます。

  3. 「名前」列で、「プロパティ」をクリックします。

  4. 「プロパティ」「Element_0」の順に開きます。

    disableProcessSensorsプロパティの情報が表示されます。

  5. 複数リストで、適切な値を選択して「適用」をクリックします。デフォルト値は「false」です。この値を「true」に設定すると、この個別コンポジットのセンサーに対するすべてのコールが無効化されます。

    このプロパティが存在しない場合、ここで作成して適切な値を選択できます。

    測定の詳細は、Oracle Fusion Middleware Oracle Business Process Managementのモデリングおよび実装ガイドを参照してください。

25.2.11 SUN JVMのクラッシュの解決

次のパラメータを使用し、Javaテスト・クライアントを通じて300,000のBPELインスタンスを生成すると、3時間後にSun Java仮想マシン(JVM)がクラッシュし、コア・ダンプが作成されます。

  • スレッド数: 100

  • 思考時間: 100(ミリ秒)

テストを正常に実行するには、かわりにSun JVMビルド6u18-b09を使用してください。

25.2.12 独自のSSL証明書を使用する場合に削除するデモ用の証明書に対する参照

SSLで独自の証明書を使用する場合、使用しているオペレーティング・システム・バージョンのsetDomainEnvファイルから次の行を削除して、デモ用の証明書に対する参照を削除する必要があります。

-Djavax.net.ssl.trustStore=${WL_HOME}/server/lib/DemoTrust.jks

この手順を行わないと、Oracle BPEL Process Managerでは外部SOAPエンドポイントにアクセスできません。

25.2.13 XAデータソースのデフォルト以外のXAトランザクション・タイムアウト値の指定

XAデータソースのデフォルトのXAトランザクション・タイムアウト値は、0秒です。このデフォルト値は、Oracle WebLogic Server管理コンソールで変更できます。次の手順を実行します。

  1. Oracle WebLogic Server管理コンソールにログインします。

  2. ページ左側の「ドメイン構造」で、「サービス」「JDBC」「データ・ソース」を選択します。

  3. 「データ・ソース」表の「名前」列で、「EDNDataSource」(イベント配信ネットワーク・トランザクション用)または「SOADataSource」(他のすべてのタイプのトランザクション用)を選択します。

  4. 一番上の「構成」タブで、「トランザクション」サブタブをクリックします。

  5. 「XAトランザクション・タイムアウト」フィールドに、値を秒単位で入力します。

  6. 「XAトランザクション・タイムアウトの設定」チェック・ボックスを選択します。新しいXAトランザクション・タイムアウト値を有効化するには、このチェック・ボックスを選択する必要があります

  7. 「保存」をクリックします。

25.2.14 コンポジット・アプリケーションでのスレッド・ブロックおよびパフォーマンスの低下の解決

スレッドがブロックされてパフォーマンスが低下しているとスレッド・ダンプに示される場合、DOMAIN_HOME\bin\setSOADomainEnv.cmdファイルに次のJRocket Java仮想マシン・オプションを設定します。

-Xmx:1536M –Xms:1536M –Xgc:genpar

ここでは次のようになります。

  • -Xmxは最大ヒープ・サイズです。

  • -Xmsは最小ヒープ・サイズです。

  • -Xgc:genparは、世代別およびパラレル・コレクション・ストラテジを実行する静的ガベージ・コレクタ(GC)です。

25.2.15 XAトランザクション・タイムアウト値の増加

ヒューマン・ワークフローでパラレル・タスク割当ての通知を送信する場合、実行時、トランザクションが閉じ、SQL例外が発生して通知処理に時間がかかります。このようになった場合、Oracle WebLogic Server管理コンソールでXAデータソースのXAトランザクション・タイムアウトを増やします。設定されると、この値でグローバル・トランザクション・タイムアウトの値がオーバーライドされます。

  1. 「ロックと編集」をクリックします。

  2. 「サービス」「データ・ソース」と選択します。

  3. 特定のデータソースをクリックします。

  4. 「トランザクション」タブをクリックします。

  5. 「XAトランザクション・タイムアウトの設定」を選択します。

  6. 「XAトランザクション・タイムアウト」フィールドに、トランザクション・タイムアウトの値を指定します。

  7. 「保存」をクリックします。

  8. SQL*Plusにログインします。

  9. distributed_lock_timeoutの値を設定します。

    SQL> alter system set distributed_lock_timeout=value scope=spfile;
    

    distributed_lock_timeoutの値をステップ6で設定した値以上に設定することをお薦めします。

  10. このコマンドの実行後、データベースを停止し、再起動します。

  11. 設定が変更されていることを確認します。

    SQL> show parameter distributed_lock_timeout;
    
  12. Oracle Real Application Cluster内のすべてのインスタンスでこのパラメータに同じ値を設定します。

25.2.16 Sun JDKを使用する場合のPermGen領域のメモリー不足エラー

Sun JDKがSOA管理対象サーバーのJVMとして使用されている場合、次のメモリー設定を使用することをお薦めします。適切なメモリー設定が使用されていない場合、タスク詳細アプリケーション(ヒューマン・ワークフロー)の繰返しの操作によってPermGen領域のメモリー不足エラーになることがあります。

  1. DOMAIN_HOME\bin\setSOADomainEnv.cmdファイルを開きます。

  2. 次の値を増やします。

    if [ "${JAVA_VENDOR}" != "Oracle" ] ; then 
      DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=128m 
    -XX:MaxPermSize=256m" 
      PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m" 
    fi 
    

    変更後の値:

    if [ "${JAVA_VENDOR}" != "Oracle" ] ; then 
      DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=512m 
    -XX:MaxPermSize=1024m" 
      PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m" 
    fi
    

25.3 ドキュメントの訂正箇所

この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。

25.3.1 Mozilla Firefoxでアクティビティ監査証跡の詳細をクリップボードにコピーする方法

Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイドに含まれるBPELプロセス・サービス・コンポーネントの監査証跡およびプロセス・フローの表示に関する項の手順10の注意に、次の記載があります。


注意:

Internet Explorerを使用している場合、「詳細をクリップボードにコピー」をクリックしてアクティビティの詳細をクリップボードにコピーします。Mozilla Firefoxを使用している場合、このリンクは表示されません。かわりに、テキストを手動で選択してコピーし、ファイルに貼り付ける必要があります。

現在、Mozilla Firefoxを使用している場合でも、「詳細をクリップボードにコピー」リンクが表示されます。ただし、このリンクをクリックすると、Mozilla Firefoxでセキュリティ警告が表示されます。

25.3.2 「プロジェクトのソースパス: SOAコンテンツ」ダイアログのオンライン・ヘルプ

「プロジェクトのソースパス: SOAコンテンツ」ダイアログには、状況依存ヘルプが含まれません。

このダイアログを使用するには、Oracle JDeveloperのアプリケーション・ナビゲータでプロジェクトを右クリックし、「プロジェクト・プロパティ」「プロジェクトのソースパス」「SOAコンテンツ」を選択します。

このダイアログを使用して、SOAプロジェクト・ディレクトリを変更します。

SOAプロジェクト・ディレクトリを変更しても、プロジェクト・ファイルは異なるディレクトリに保存されません。プロジェクト・ファイルは、引き続きすべて元のディレクトリの場所に保存されます。この変更により、アプリケーション・ナビゲータでのSOAプロジェクト・ファイルの表示方法も変化します。

  • 「参照」をクリックしてこのディレクトリを変更した場合、現在のプロジェクト・ファイルはアプリケーション・ナビゲータに表示されなくなります。

  • 「SOAコンテンツ設定のカスタマイズ」ダイアログで「カスタム設定を使用」を選択し、「設定のカスタマイズ」をクリックしてこのディレクトリを変更した場合、Oracle JDeveloperの現在のセッションで、現在のプロジェクト・ファイルはアプリケーション・ナビゲータに表示されなくなります。Oracle JDeveloperを終了すると、設定が元に戻り、プロジェクト・ファイルはアプリケーション・ナビゲータに再度表示されます。

このダイアログには次のボタンおよびフィールドが含まれます。

  • 「カスタム設定を使用」ラジオ・ボタン: SOAプロジェクト・ディレクトリを変更する場合に選択します。

  • 「プロジェクト設定を使用」ラジオ・ボタン: ファイルを保存するデフォルトのSOAプロジェクト・ディレクトリを使用する場合に選択します。これはデフォルトの選択です。

  • 「設定のカスタマイズ」ボタン: SOAプロジェクト・ファイルのディレクトリ・パスの場所を変更する場合にクリックします。

  • 「SOAディレクトリ名」フィールド: SOAプロジェクトの現在のディレクトリ・パスが表示されます。