ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド
11g リリース1 (11.1.1.6.0)
B55916-06
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

B Oracle SOA Suiteのトラブルシューティング

この付録では、サーバー起動のベスト・プラクティス、ページ・ロードの最適化、メッセージの失敗、表領域の問題、接続タイムアウト、イベント配信ネットワークの問題、ヒューマン・ワークフローの問題など、Oracle SOA Suiteの使用時に発生する可能性がある問題をトラブルシューティングする方法について説明します。また、トラブルシューティングのためのロギング・レベルの設定方法についても説明します。

この付録の内容は、次のとおりです。

B.1 トラブルシューティングのためのロギング・レベルの設定

トラブルシューティングを容易にするために、Oracle Enterprise Manager Fusion Middleware Controlで、ロギング・レベルを「TRACE:32 FINEST」レベルに設定することをお薦めします。この項では、このレベルに設定するロガーについて説明します。

トラブルシューティングのためにロギング・レベルを設定する手順は、次のとおりです。

  1. ログ構成ページにアクセスする手順については、第3.5項「ログ・ファイルの構成」を参照してください。

  2. 「Oracle Diagnostic Loggingレベル(Javaレベル)」リストから、次の親ロガーを「TRACE:32 FINEST」レベルに設定します。

    • oracle.soa

    • oracle.fabric

    • oracle.integration

    • oracle.wsm (このロガーは、「ERROR」レベルの設定でも必要なエラー・メッセージが記録されるため、この設定でも問題ありません)

  3. さらに詳細なロギング管理を行う場合は、親ロガーを展開して、次の任意のロガーを設定します。

    コンポーネント ロガー
    ヒューマン・ワークフロー、承認管理の拡張(AMX)、ルール
    • oracle.soa.services.common
    • oracle.soa.services.identity

    • oracle.soa.services.notification

    • oracle.soa.services.rules

    • oracle.soa.services.rules.obrtrace

    • oracle.soa.services.workflow

    • oracle.soa.services.workflow.common

    • oracle.soa.services.workflow.evidence

    • oracle.soa.services.workflow.metadata

    • oracle.soa.services.workflow.persistency

    • oracle.soa.services.workflow.query

    • oracle.soa.services.workflow.report

    • oracle.soa.services.workflow.runtimeconfig

    • oracle.soa.services.workflow.soa

    • oracle.soa.services.workflow.task

    • oracle.soa.services.workflow.task.dispatch

    • oracle.soa.services.workflow.task.routing

    • oracle.soa.services.workflow.user

    • oracle.soa.services.workflow.verification

    • oracle.soa.services.workflow.performance - ワークフロー・パフォーマンスAPI

    • oracle.soa.services.workflow.worklist - Oracle BPM Worklist

    SOAインフラストラクチャ
    • oracle.fabric.common.wsdl - WSDLおよびスキーマの管理
    • oracle.integration.platform.blocks.deploy - デプロイメント

    • oracle.integration.platform.blocks.soap - WSバインディング、Webサービスのコール

    • oracle.integration.platform.blocks.local - ローカル・バインディング

    • oracle.integration.platform.kernel - 起動の問題

    • oracle.integration.plaform.blocks.mesh - メッセージのルーティング

    • oracle.integration.platform.common - メタデータ、MDS

    • oracle.integration.platform.instance - インスタンス

    • oracle.integration.platform.instance.activity - インスタンス

    • oracle.integration.platform.instance.store - インスタンス

    イベント配信ネットワーク(EDN)
    • oracle.integration.platform.blocks.event
    • oracle.integration.platform.blocks.event.saq

    • oracle.integration.platform.blocks.event.jms

    デプロイメント oracle.integration
    Oracle Mediator
    • oracle.soa.mediator.common - Oracle Mediatorの監査メッセージの永続性に関連する処理イベントが記録されます。
    • oracle.soa.mediator.common.cache - メタデータ・キャッシュ(RuntimeMetadataCache)およびランタイム関連のキャッシュ(RuntimeCache)。

    • oracle.soa.mediator.common.error - エラーのエンキューと処理に関連するログが記録されます。

    • oracle.soa.mediator.common.error.recovery - エラーのリカバリ処理のみが記録されます。すべてのフォルト・ポリシー・ハンドラは、このロガーに含まれます。

    • oracle.soa.mediator.common.listener - Oracle Mediatorのパラレル・ルーティング・ルールおよびリシーケンサ用の共通インフラストラクチャに関連する処理。

    • oracle.soa.mediator.common.message - Oracle Mediatorメッセージの作成と変更に関連するログが記録されます。(Oracle Mediatorでは、正規化メッセージをOracle Mediatorメッセージにラップします。)

    • oracle.soa.mediator.common.persistence - Oracle Mediatorにおけるデータベースへの遅延メッセージの永続性に関連するログが記録されます。

    • oracle.soa.mediator.dispatch - Oracle Mediator内のメッセージ・ルーティング関連のすべてが記録されます。これには、順次ルーティング、パラレル・ルーティングおよび動的ルーティングが含まれます。

    • oracle.soa.mediator.dispatch.db - 遅延メッセージおよびコンテナIDのインフラストラクチャに関連するログが記録されます。

    • oracle.soa.mediator.dispatch.resequencer.toplink - リシーケンサのデータベース通信に関連するログが記録されます。これには、3つのすべてのリシーケンサ方式の実行が含まれます。

    • oracle.soa.mediator.monitor - Oracle Mediatorのインスタンス・トラッキングに関連するすべてのイベントが記録されます。

    • oracle.soa.mediator.resequencer - Oracle Mediatorのリシーケンサ処理に関連するすべて(ロッカーとワーカーのインフラストラクチャ、グループおよびシーケンサIDの式の評価など)。

    • oracle.soa.mediator.resequencer.besteffort - ベスト・エフォート方式のリシーケンサ用(特に、ステージング処理のロック)。

    • oracle.soa.mediator.resequencer.fifo - FIFO方式のリシーケンサ用。

    • oracle.soa.mediator.resequencer.standard - 標準方式のリシーケンサ用。

    • oracle.soa.mediator.service - Oracle Mediatorの様々なメッセージ交換パターン(一方向、双方向(同期、非同期)など)の処理に関連するイベントが記録されます。

    • oracle.soa.mediator.service.common.functions - Oracle MediatorのXPath拡張関数に関連するログ

    • oracle.soa.mediator.service.filter - ルーティング・ルールのフィルタ基準の評価。

    • oracle.soa.mediator.service.transformation - 変換に関連するイベントが記録されます(変換前および変換後のペイロードなど)。

    • oracle.soa.mediator.serviceEngine - Oracle Mediatorサービス・エンジンのライフサイクル・イベントが記録されます。また、Oracle Mediatorのメッセージの入出力も記録されます。

    Oracle BPEL Process Manager
    • oracle.soa.bpel
    • oracle.soa.bpel.console

    • oracle.soa.bpel.engine

    • oracle.soa.bpel.engine.activation

    • oracle.soa.bpel.engine.agents

    • oracle.soa.bpel.engine.bpel

    • oracle.soa.bpel.engine.compiler

    • oracle.soa.bpel.engine.data

    • oracle.soa.bpel.engine.delivery

    • oracle.soa.bpel.engine.deployment

    • oracle.soa.bpel.engine.dispatch

    • oracle.soa.bpel.engine.sensor

    • oracle.soa.bpel.engine.translation

    • oracle.soa.bpel.engine.ws

    • oracle.soa.bpel.engine.xml

    • oracle.soa.bpel.entity

    • oracle.soa.bpel.jpa

    • oracle.soa.bpel.system

    Oracle B2B
    • oracle.soa.b2b.apptransport - ランタイム・ロガー
    • oracle.soa.b2b.engine - ランタイム・ロガー

    • oracle.soa.b2b.transport - ランタイム・ロガー

    • oracle.soa.b2b.ui - ユーザー・インタフェース・ロガー

    • oracle.soa.b2b.repository - リポジトリ・アクセスの詳細なロガー

    Oracle Web Services Manager(OWSM) oracle.wsm - デフォルトでは、「ERROR」レベルに設定されており、すべてのWSM-0xxxxエラーが記録されます。「TRACE:32」に設定すると、かなり詳細なログが記録されます。

  4. 「Oracle Diagnostic Loggingレベル(Javaレベル)」リストから、ロガーレベルを次のいずれかの設定に変更します。

    • TRACE:1 (FINE)

    • TRACE:16 (FINER)

    • TRACE:32 (FINEST) - 最も詳細なレベル(トラブルシューティングのために推奨)

    変更が有効になるまで数分かかります。

B.1.1 すべての管理対象サーバーからのログ・ファイルおよびスレッド・ダンプ

表B-1に、確認するログ・ファイルと取得するスレッド・ダンプを示します。

表B-1 ログ・ファイルとスレッド・ダンプ

出力 説明

サーバー診断ログ

次のファイルを確認します。

$DOMAIN_HOME/servers/server_name/logs/server_name-diagnostic.log

たとえば、server_namesoa_server1の場合は、soa_server1-diagnostic.logです。

これは、ログ出力を入手できる場所です。デフォルトでは、最新分100 MBの診断ログのみが保持されます。

サーバー・ログ

server_name.log (たとえば、server_namesoa_server1の場合は、soa_server1.logです)

サーバー・コンソールの出力

<stdout>も役に立ちます(特に、デプロイおよびパッチの問題の場合)。

サーバーのスレッド・ダンプ

オペレーティング・システムのコマンド・プロンプトで、次のように入力します。

kill -3 managed_server_process_ID

また、Oracle WebLogic Server管理コンソールを使用することもできます。

  1. Oracle WebLogic Server管理コンソールのナビゲーション・ツリーで、「環境」「サーバー」の順に選択します。

  2. 表の中から、サーバーを選択します。

  3. 監視」タブを選択します。

  4. 「スレッド」タブを選択します。

  5. 「スレッド・スタックのダンプ」をクリックします。

出力がコンソール・ログに表示されます。

OWSMメッセージ・ログ

次のログに、ネットワーク上のすべてのSOAPメッセージがキャプチャされます。

$DOMAIN_HOME/servers/server_name/logs/owsm/msglogging/diagnostic.log

このログは、デフォルトでは無効になっています。このログを有効にするには、次の手順を実行します。

  1. 「Fusion Middleware Control」「WebLogicドメイン」「Webサービス」「ポリシー」の順に移動します。

  2. ロギングを有効にしたときのセキュリティ・レベルを選択します。

  3. ポリシーを編集して、ログのアサーションを有効にします。


B.2 接続およびトランザクション・タイムアウトのトラブルシューティング

この項では、接続およびトランザクション・タイムアウトの問題をトラブルシューティングする方法について説明します。

B.2.1 接続タイムアウトの解決

次のような状況では、接続タイムアウト・エラーが発生する可能性があります。

  • 処理に30秒以上かかる大きなペイロードのSOAコンポジット・アプリケーションを実行する場合。

  • Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページから、大きいペイロードを使用してストレス・テストを起動している場合。

  • ファイル・アダプタ・サービスを使用して、コンポジットに大量のメッセージ・ファイル(100万)を渡している場合。

  • Oracle Enterprise Manager Fusion Middleware Controlでインスタンス数とフォルト数のメトリックを取得している場合。

トランザクション・タイムアウト・プロパティを増加して、タイムアウト・エラーの発生を回避する手順は、次のとおりです。

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

  2. 「JTA」をクリックします。

  3. 「タイムアウト」の値を変更します(デフォルトは30です)。

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

  5. Oracle WebLogic Serverを再起動します。

B.2.2 データベース接続値を増やす

データベースへの接続が遅いと、次のエラー・メッセージを受信する場合があります。

Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 
090304)): oracle.toplink.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain 
XAConnection weblogic.common.resourcepool.ResourceDeadException: Pool 
SOADataSource has been disabled because of hanging connection tests, cannot 
allocate resources to applications.

このことが発生した場合は、次の手順を実行します。

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

  2. 太字で表示されている行を非コメント化します。

    # 8331492: Value of weblogic.resourcepool.max_test_wait_secs is 10 
    # seconds. It can be increased by uncommenting line below if your database 
    # connections are slow. See SOA documentation for more details. 
     EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
    -Dweblogic.resourcepool.max_test_wait_secs=30" 
    export EXTRA_JAVA_PROPERTIES 
    
  3. 変更を保存して、管理対象のOracle WebLogic Serverを再起動します。

B.2.3 SOAインフラストラクチャの障害後にデプロイメント・アーカイブのEJBトランザクション・タイムアウト値を更新する

Oracle WebLogic Server管理コンソールの「デプロイメント」展開されたSOAインフラストラクチャ・アプリケーション「FacadeFinderBean」「構成」タブで、「FacadeFinderBean」プロパティのトランザクション・タイムアウト値を更新すると、SOAインフラストラクチャの再起動後に次のエラーが発生することがあります。

java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy223
implementing
 oracle.bpel.services.workflow.verification.IVerificationService,org.springframe
work.aop.SpringProxy,org.springframework.aop.framework.Advised]
to required type
[oracle.bpel.services.workflow.verification.IVerificationService] for
property 'verificationService': no matching editors or conversion strategy found
Message icon - Warning Errors were encountered while performing this operation.

また、SOAインフラストラクチャのステータスも失敗として表示されます。

このエラーはFacadeFinderBeanに固有のものではありません。SOAインフラストラクチャ・アプリケーションの一部であるすべてのEJBにも当てはまります。

このエラーを解決するには、デプロイメント・アーカイブのトランザクション・タイムアウト設定を手動で変更する必要があります。

トランザクション・タイムアウト設定を更新する手順は、次のとおりです。

  1. デプロイメント・アーカイブでfabric-ejb.jarファイルを開きます。

  2. META-INF/weblogic-ejb-jar.xmlファイル内のトランザクション・タイムアウト値を大きくします。

  3. JARファイルを作成しなおします。

  4. 第3.3項「管理対象サーバーとSOAインフラストラクチャの停止と起動」の説明に従って、SOAインフラストラクチャが含まれている管理対象サーバーを再起動します。


    注意:

    この問題は、SOAインフラストラクチャの一部としてデプロイされたEJBを更新するときにも発生することがあります。この問題が発生した場合は、それらのEJBに含まれている対応するJARファイルを同様の方法で更新する必要があります。

B.3 ヒューマン・ワークフローのトラブルシューティング

この項では、ヒューマン・ワークフローの問題をトラブルシューティングする方法について説明します。

B.3.1 タスクの割当て、ルーティングおよびエスカレーションの問題

表B-2に、タスクの割当て、ルーティングおよびエスカレーションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-2 タスクの割当て、ルーティングおよびエスカレーションの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

割当てが行われずにタスクが完了します。

最も多い問題は、タスクの割当て先の指定にXPath式を使用していて、その式で該当するノードが算出されないことです。その他には、参加者のスキップ条件が正しくないなどの問題が考えられます。

  1. XPath式に関するすべての問題を修正します。

  2. 指定されたデータのXPath式で結果が取得できることを確認します。

  3. ヒューマン・タスク・エディタで、タスクの参加者の「スキップ・ルールの指定」チェック・ボックスで指定されているスキップ条件を確認します。

ビジネス・ルールでリスト・ビルダーが返されていません。

タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって最低1つのリスト・ビルダーが返されることを想定しています。ビジネス・ルールで参加者が不要であることを決定する場合は、IgnoreParticipant(...)関数を使用する必要があります。正しいモデルに修正しても、このエラーが表示される場合は、ルールが起動されていない可能性があります。この表の「複数のルールを定義している場合にヒューマン・ワークフロー・タスクで正しくないユーザーが選択されたり、次のメッセージのエラーが発生します」のタイトルの症状を参照してください。

  1. ignoreParticipant(..)関数を使用して、ルールのモデルを作成します。

  2. 最低1つのルールが起動されるように、ルールのモデルが正しく作成されていることを確認します。

ビジネス・ルールで別のタイプのリスト・ビルダーが返されています。

タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。

ルールを修正します。

複数のルールを定義している場合にヒューマン・ワークフロー・タスクで正しくないユーザーが選択されたり、次のメッセージのエラーが発生します。

Ruleset returned lists with
different list builder

ヒューマン・ワークフロー・タスクでは、実行時にユーザーのリストのフェッチを試行したときに、次のエラーが発生することがあります。

Ruleset returned lists with different list builder

このエラーは、タスク詳細コメント・フィールドに表示されます。また、タスクにより正しくないまたは想定されていないユーザーや承認者が選択されている可能性があります。これは主に、重複するルールの設定が原因で発生します。タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。

また、ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。

重複するルールを記述しないようにします。各リスト・ビルダーからの制約は、異なるものとし、混在させることはできません。異なるリスト・ビルダーによって複数のルールがトリガーされると、このエラーが発生します。また、1つの制約セットのみが適用されます。

ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。

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

パラレル完了基準が満たされていても、パラレル割当て先がタスクの承認または拒否を行う必要があります。

パラレル参加者のために使用する「参加者タイプの追加」ダイアログでは、ヒューマン・タスクの構成を選択して、実行時にすべてのパラレル参加者が完了するか、完了の基準が満たされるまでヒューマン・タスクを待機するように構成できます。

「参加者タイプの追加」ダイアログで、完了について正しい選択を行います。

グループまたはロール内の各ユーザーに個別に割り当てられるものと想定していたタスクが、グループまたはロールに割り当てられます。

タスクの割当て先にグループまたはロールが使用された場合、すぐにタスクがそのグループまたはロールに割り当てられます。タスクの実行時に、個別に割り当てられるわけではありません。グループまたはロール内のいずれかのユーザーが、そのタスクを申告して処理する必要があります。パラレル参加者またはシリアル参加者とあわせて使用した場合に、このユーザーの解決は自動的に行われるものと考えられることが多いようですが、実際はそうではありません。

グループまたはロールのメンバーに個別に割り当てるには、XPath関数のids:getUsersInGroupおよびids:getUsersInAppRoleを使用します。

タスクでルーティング・ルールまたはルールベースの参加者を評価するデシジョン・サービスを呼び出したときに、エラーが発生します。

SOAインフラストラクチャ・インスタンスで、ペイロードの検証が有効になっています。

インスタンスの「ペイロードの検証」チェック・ボックスの選択を解除します。詳細は、第3.1項「SOAインフラストラクチャ・プロパティの構成」を参照してください。


B.3.2 タスク・アクションの問題

表B-3に、タスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-3 タスク・アクションの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

ユーザーがタスクのアクションを実行できません。

最も多い問題は、その時点でそのタスクのそのアクションを実行する権限をユーザーが持っていないことです。

ユーザーがタスクの割当て先、所有者または作成者のいずれかであるか、または管理者であるかどうかを確認します。ユーザーがアクションの実行を許可されている場合は、サーバー・ログ・ファイルで、タスクの状態やタスクの割当て先、タスクを取得していたユーザー、許可されていたアクション、指定のタスクでそのユーザーが担当していた役割などの情報を含む、詳細なログ・メッセージを確認します。


B.3.3 通知の問題

表B-4に、通知の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-4 通知の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

タスクの電子メール通知が送信されません。

Oracle Enterprise Manager Fusion Middleware Controlのワークフロー通知プロパティ・ページで、「通知モード」「なし」に設定されています。

この設定を「電子メール」または「すべて」に変更します。詳細は、第20.1項「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

電子メール通知が送信されません。

電子メール・ドライバの構成で使用されている送信サーバーの設定が正しくありません。

SMTPポート、SMTPホスト、ユーザー名、パスワードおよび電子メールの値を確認します。

ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用してSMTPサーバーに接続します。

次の手順を実行して、Oracle Enterprise Manager Fusion Middleware Controlの設定を確認します。

  1. ナビゲータで、「ユーザー・メッセージング・サービス」を右クリックします。

  2. 「usermessagingdriver-email」「電子メール・ドライバ・プロパティ」の順に選択します。

  3. 設定を確認します。

通知は送信されますが、アクション可能ではありません。

アクション可能なアドレス・フィールドが構成されていません。

Oracle Enterprise Manager Fusion Middleware Controlで、アクション可能なアドレス・フィールドに有効な電子メール・アドレスを構成します。詳細は、第20.1項「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

Oracle User Messaging Serverの電子メール・ドライバで受信サーバー設定を構成したときと同じ電子メール・アドレスが使用されていることを確認します。詳細は、第20.1項「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。

通知は送信されますが、アクション可能ではありません。

ヒューマン・ワークフロー・タスクがアクション可能な通知を送信するように設定されていません。

ヒューマン・タスク・エディタで(このエディタは、Oracle JDeveloperの.taskファイルをダブルクリックして起動できます)、「通知」セクションを展開し、「詳細」タブをクリックして、「通知をアクション可能にする」チェック・ボックスを選択します。

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

アクション可能なアドレス・フィールドが正しくありません。

IMAPおよびPOP3のサーバーとポートの値を確認します。電子メール・ドライバの構成で、アクション可能なアドレス・フィールドが使用されていることを確認します。

ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用して、IMAPサーバーまたはPOP3サーバーに接続します。

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

デフォルト以外の電子メール・クライアントが通知受信用に構成されています。

ユーザーが承認リンクをクリックすると、デフォルトのメール・クライアント・ページが開き、このページで別の電子メール・サーバーに電子メールを送信できます。デフォルトの電子メール・クライアントを、アクション可能な通知を受信するように構成します。

ワークフロー・タスク・サービス・プロパティ・ページの「アクション可能な電子メール・アカウント」フィールドに、アクション可能な受信電子メール・アカウントとして使用する正しい値を入力します。デフォルトのアカウント名は、「Default」です。

詳細は、第20.2項「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。

アクション可能な通知が送信されますが、応答してもアクションは実行されません。

電子メール・クライアントに、電子メール・ドライバで使用されるアカウントと同じアカウントが構成されています。

ヒューマン・ワークフローの通知サービスがメールをダウンロードして処理する前に、電子メール・クライアントによってメールがダウンロードされて既読にマークされたり、削除されている可能性があります。電子メール・クライアントから、そのアカウントを削除します。

電子メール通知でOracle BPM Worklistリンクが表示されます。

これがデフォルトの動作です。デフォルトでは、電子メール通知にはOracle BPM Worklistが表示されます。

次の手順を実行してください。

  1. ヒューマン・タスク・エディタの「通知」セクションで、「詳細」タブをクリックします。

  2. 「ワークリストURLを通知に表示」チェック・ボックスの選択を解除します。

グループ通知のパフォーマンスが遅いです。

グループ通知のパフォーマンスは、グループ内のメンバーの数(グループのサイズ)によって決まります。

  1. LDAPでグループ用の電子メールIDを設定します。この場合、ヒューマン・ワークフローは、各グループ・メンバーに対して個別の電子メールを送信するのではなく、グループの電子メールIDに1通の電子メールを送信します。

  2. ヒューマン・タスク・エディタの「通知」セクションで、「詳細」タブをクリックします。

  3. すべてのグループ・メンバーに対して1通の電子メールを送信する場合は、「グループ通知構成」リストから「すべてのユーザー・アドレスを含む電子メールを送信」を選択します。このアクションによって、すべてのメンバーが宛先リストを確認できるようになり、すべてのメンバーに同じ内容が送信されます(ロケールなどは考慮されません)。

  4. 個別に電子メールを送信するが、内容を複数のメンバーで再利用する場合は、「グループ通知構成」リストから「電子メールを個別に送信」(デフォルトの選択)を選択し、「ロケールに基づいて個別のタスク・フォームを使用」の選択を解除します。このアクションによって、グループ・メンバーは、各自のロケールで個別のメールを受信できます。通知内容を作成するために生成されるタスク・フォームは、同じロケールのメンバーで再利用されます。


B.3.4 タスク・ビューの問題

表B-5に、タスク・ビューの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-5 タスク・ビューの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

カスタム(マップ済属性)列のビューへの表示

属性マッピングは、特定のタスク・タイプに対して作成されます。マップ済属性を使用するには、ビューを1つ以上のタスク・タイプに関連付ける必要があります。

Oracle BPM Worklist (表示、作成または編集UI)の「定義」タブで、ビューに対してタスク・タイプを指定します。そのタスク・タイプのマッピングで使用されている属性ラベルが、ビューで使用可能な列として「表示」タブで使用できるようになります。

1つのビューを複数のタスク・タイプに関連付けることもできます。タスク・タイプ・ブラウザから、複数のタスク・タイプを選択できます。複数のタスク・タイプを選択した場合は、それらのすべてのタスク・タイプの属性ラベルが、そのビューで使用できるようになります。

ビューの権限受領者が、ビューの所有者に属するタスクを表示したり編集できます。

ビューがデータとして共有されています。この共有タイプでは、権限受領者が、まるでビューの所有者であるかのようにビューを使用できるため、ビューの所有者のタスクを表示して操作できます。

Oracle BPM Worklist (表示または編集UI)の「定義」タブで、「ビューの共有」「定義のみ」に設定され、権限受領者がビューを自分のタスクに対して使用できるようになっていることを確認します。「ビューの共有」「データ」に設定すると、権限受領者は、ビューをそのビューの所有者のデータに対して使用できるようになります。

新規標準ビューの作成

標準ビューは、管理権限を持つユーザーのみが作成できます。

  1. ログインしているユーザーが管理権限を持っていることを確認します。

  2. 通常どおり、Oracle BPM Worklist (作成または編集UI)を使用して、ビューを定義します。

  3. 「標準ビューに追加」チェック・ボックスを選択します。

    ビューが、標準ビューとして作成されます。

標準ビュー名の国際化

標準ビューの名前フィールドに指定した値をリソース・キーとして使用して、WorkflowLabelsリソース・バンドルから表示名を参照できます。

WorkflowLabelsリソース・バンドルに新規リソース・キーを追加します。このキーは、STD_VIEW.の接頭辞が付く、ビューに使用した名前です(接頭辞の末尾にはピリオドが必要です)。

リソース・バンドルの詳細は、Oracle SOA Suiteサンプルで入手可能なワークフロー・サンプルworkflow-110-workflowCustomizationsを参照してください。

あるインスタンスで作成したビューと標準ビューの別のSOAサーバーへの移行

テストから本番への移行ユーティリティを使用する必要があります。

テストから本番への移行ユーティリティを使用すると、ユーザー・ビューと標準ビューをXMLファイルにエクスポートして、そのXMLファイルのビューを別のインスタンスにインポートできます。このユーティリティの詳細は、第22.6項「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。


B.3.5 タスクの属性マッピングの問題

表B-6に、タスクの属性マッピングの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-6 タスクの属性マッピングの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

Oracle BPM Worklistで、パブリック属性へのマッピングにペイロード属性を使用できません。

Oracle BPM Worklistは、単純なペイロード属性へのマッピングの作成のみをサポートしています。Oracle BPM Worklistでのマッピングの作成では、タスク・ペイロードの単純な属性のみが表示されます。

  • ペイロードに単純な属性を追加します。

  • デザインタイムで保護付きのマッピングを作成します。Oracle JDeveloperのデザインタイムで、保護付きの属性マッピングにXPath式を使用することで、複雑なペイロード属性へのマッピングを作成できます。

  • RuntimeConfigServiceのAPIを使用して、XPath式を使用したパブリック・マッピングを作成します。

Oracle BPM Worklistで、保護付きの属性ラベルへのマッピングを作成できません。

保護付きのマッピングは、デザインタイムのタスク定義の中でのみ作成できます。実行時にOracle BPM WorklistやRuntimeConfigServiceのAPIを使用して、保護付きのマッピングを作成したり更新することはできません。

  • マッピングにパブリック属性ラベルを使用します。

  • デザインタイムのタスク定義で、保護付きの属性ラベルへのマッピングを作成します。

Oracle JDeveloperで、マッピングの作成に使用する属性ラベルが表示されません。

デザインタイムのマッピングは、保護付きの属性ラベルに対してのみ作成できます。接続先のSOAインスタンスに保護付きの属性ラベルが作成されていることを確認してください。

  1. Oracle BPM Worklistに管理者としてログインします。

  2. 「管理」「保護フレックス・フィールド」の順に移動します。

  3. その保護付きの属性ラベルが存在することを確認します。

  4. 必要に応じて、保護付きの属性ラベルを作成します。

属性ラベルの名前の国際化

属性ラベル名をリソース・キーとして使用して、WorkflowLabelsリソース・バンドルから表示名を参照できます。

WorkflowLabelsリソース・バンドルに新規リソース・キーを追加します。このキーは、FLEX_LABEL.の接頭辞が付く、ラベルに使用した名前です(接頭辞の末尾のピリオドに注意してください)。

リソース・バンドルの詳細は、Oracle SOA Suiteサンプルで入手可能なワークフロー・サンプルworkflow-110-workflowCustomizationsを参照してください。

あるサーバーから別のサーバーへの属性ラベルとマッピングの移行

テストから本番への移行ユーティリティを使用します。

テストから本番への移行ユーティリティを使用すると、パブリック属性ラベル、パブリック属性マッピング、および保護付きの属性ラベルをXMLファイルにエクスポートして、そのXMLファイルのラベルとマッピングを別のインスタンスにインポートできます。

詳細は、第22.6項「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。


B.3.6 タスク・レポートの問題

表B-7に、タスク・レポートの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-7 タスク・レポートの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

次のエラー・メッセージが表示される場合です。

Null Pointer Exception when
running Task Productivity
Report

これは、ワークリストのクライアントのロケールとサーバーのデフォルト・ロケールが異なる場合に、日付の処理に関する問題が原因で発生します。

回避策としては、ワークリストのクライアントのロケールをサーバーと同じロケールに変更するか、日付を指定しないでレポートを実行します。


B.3.7 タスク履歴の問題

表B-8に、タスク履歴の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-8 タスク履歴の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

「参加者の追加」ボタンが無効になっています。

履歴表で、現在または過去の参加者が選択されています。

これは、設計されているとおりの動作です。現在または過去の参加者に対して、非定型参加者を追加することはできません。現在の参加者とは、その時点でタスクが割り当てられている参加者を意味します。

ページをリフレッシュすると、追加したすべての非定型参加者が消えてしまいます。

履歴表への変更が保存されていない可能性があります。

変更を保存してください。そうしない場合、すべての変更は失われます。変更を保存したはずであるのに失われている場合は、バグとして報告してください。

履歴表に予定承認者が表示されません。

予定承認者チェック・ボックスが選択されていない可能性があります。

Oracle BPM Worklist (タスク順序の表の構成)で、予定承認者チェック・ボックスを選択します。

履歴表に相関IDが渡されていないことを示すメッセージ、または相関IDに関連する例外が表示されます。

タスクが開始されていない場合、相関IDが渡されていない可能性があります。

開始されていないタスクに相関IDを渡していることを確認してください。

編集ツールバーが無効になっているか、または表示されません。

ユーザーが参加者を編集する権限を持っていない可能性があります。

  1. ヒューマン・タスク・エディタの「割当て」タブで、右上隅にある「タスクは開始参加者から最終参加者へ移行します」アイコンをクリックします。

    「割当ての構成」ダイアログが表示されます。

  2. 「参加者による新規参加者の編集を許可」チェック・ボックスと「起案者による参加者の追加を許可」チェック・ボックスを選択します。

次のエラー・メッセージが表示される場合です。

<Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService>
 <BEA-000000><ADFc:
 /META-INF/adfc-config.xml: > 
  <Warning>
<oracle.adf.controller.intern
al.metadata.MetadataService><
ADFC-52024> <ADFc: Duplicate
 managed bean definition for
 'aleCompBindings' detected.> 

共有ライブラリoracle.soa.worklist.webappweblogic.xmlで参照され、JARファイルのadflibWorklistComponents.jaradflibTasklistTaskflow.jarがWebアプリケーション内にパッケージ化されています。

原則的には、これらのJARはWebアプリケーション内にパッケージ化すべきではありません。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。

次のエラー・メッセージが表示される場合です。

<Error> <Deployer>
 <BEA-149265> <Failure
 occurred in the execution of
 deployment request with ID
 '1297964056778' for task
 '3'. Error is:
 'weblogic.management.Deployme
ntException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.Deploymen
tException:
[J2EE:160149]Error while
processing library
references. Unresolved
application library
references, defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].

共有ライブラリoracle.soa.workflow.wcweblogic.xmlで参照されていますが、サーバー上でこの共有ライブラリを使用できません。

アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。

次のエラー・メッセージが表示される場合です。

java.lang.IllegalStateExcepti
on: Attempt to validate an
already invalid RegionSite: 

これは、サーバー・ログ(たとえば、AdminServer.log)に時々表示される汎用的な例外です。

診断ログ(たとえば、AdminServer-diagnostic.log)で実際の例外を確認して、その例外とバグの内容を報告してください。

次のエラー・メッセージが表示される場合です。

[AdminServer] [NOTIFICATION]
 [J2EE JSP-00008]
 [oracle.j2ee.jsp] [tid:
 [ACTIVE].ExecuteThread: '15'
 for queue:
 'weblogic.kernel.Default
 (self-tuning)'] [userId:
 weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e
3444eb1b:-8000-0000000000002f
0a,0] [APP: FederatedApp_
application1] unable to
 dispatch JSP page: The
 following exception
 occurred:.[[
java.lang.RuntimeException:
 Cannot find FacesContext
        at
javax.faces.webapp.UIComponen
tClassicTagBase.getFacesConte
xt(UIComponentClassicTagBase.
java:2122) 

これは、よくある間違いですが、使用しているコンポーネントとは関係ありません。URLへのfacesの入力を忘れています。例:

http://server:port/FederatedApp
/test.jspx

次のように、URLにfacesを入力します。

http://server:port/FederatedApp/fac
es/test.jspx\\

B.3.8 タスク・フォームおよびタスク・アクションの問題

表B-9に、タスク・フォームおよびタスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-9 タスク・フォームおよびタスク・アクションの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

タスク・フォーム・アプリケーションに空のJSPXページがありません。

N/A

現在は、タスク・フォームはADFタスク・フローを使用して呼び出され、タスク・フローが完了すると、タスク・フォームのタスク・フローを開始したモジュールに制御が戻されるようになっています。そのため、空のJSPXは必要ありません。

タスク・フォームがMicrosoft Internet Explorerにロードされません。

Microsoft Internet Explorerでは、URLの長さに制限があります。

タスク・フォームのURLが長すぎます。

デプロイがclass not found例外で失敗します。

共有ライブラリのエントリがweblogic.xmlに存在しません。

次のエラーが表示される場合があります。

Caused By:
 java.lang.ClassNotFoundException:
oracle.bpel.services.datacontrol.ty
pes.Number 

タスク・フォームのデプロイ時に、共有ライブラリがweblogic.xmlに存在しないことが原因である可能性があります。weblogic.xmlに次の要素を追加します。

<library-ref>
 <library-name>oracle.soa.worklist.w
 ebapp</library-name>
 <specification-version>11.1.1</spec
 ification-version>
</library-ref> 

ホスト名を使用した場合に、タスク・フォームのデプロイおよびアクセスが失敗します。

DNSエントリが存在しません。

DHCPを設定したサーバーを使用している場合は、そのホストのDNSエントリが存在しない可能性があります。そのため、IPアドレスを使用したデプロイやアクセスは成功しても、ホスト名を使用したデプロイやアクセスは失敗することがあります。手動でホストとIPアドレスを追加して、クライアント・コンピュータを更新します。

  • Windowsオペレーティング・システムの場合、通常、これは%windir%\drivers\etc\lmhostsにあります。

  • LinuxまたはUNIXの場合、通常、これは/etc/hostsにあります。

タスク・フォームのURLプロトコル(HTTPまたはHTTPS)

HTTPSまたはHTTP経由でタスク・フォームにアクセスできません。

  • DefaultToDoTaskForm: ワークリストは、ランタイム構成サービスからgetServerInfoのAPIによって返されたポートとプロトコルを使用して、デフォルトのTo-Doタスク・フォームにアクセスします。このAPIは、クラスタ・サーバーまたは管理対象サーバーのフロントエンド・ホスト設定を使用します。HTTPSプロトコルが有効になっている場合は、このプロトコルが優先されます。これは動的な設定で、他のカスタム・タスク・フォームと同様に、Oracle Enterprise Manager Fusion Middleware Controlを使用して、デフォルトのTo-Doタスクの設定を変更できます。

  • CustomTaskForm: カスタム・タスク・フォームは、その設定からHTTPおよびHTTPSの情報を取得します。情報の取得には、JRFのAPIを使用します。これは、クラスタからフロントエンド・ホスト情報を取得し、さらにクラスタのフロントエンド・ホストが設定されていない場合は、管理対象サーバーから情報を取得します。管理対象サーバーのフロントエンド・ホストが設定されていない場合は、通常のポートを使用します。デプロイ時にユーザーがHTTPSポートを有効にした場合は、タスク・フォームによって、この情報がデータベースに保存されます。この発生以降に、ユーザーがOracle WebLogic Server管理コンソールを使用してHTTPSポートを無効にした場合、ユーザーはOracle Enterprise Manager Fusion Middleware Controlを使用して、タスク・フォームのHTTPSポートを削除する必要があります。


B.3.9 タスク・コメントと添付ファイルの問題

表B-10に、タスク・コメントと添付ファイルの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-10 タスク・コメントと添付ファイルの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

ファイルがアップロードされません。

ファイルが大きすぎます。

デフォルトでは、ADFには、各リクエストにつき、2000 KBのサイズ制限があります。次のパラメータをweb.xmlに追加して、アップロードするファイルのファイル・サイズと一時記憶域を調整します。

<context-param>
  <!-- Maximum memory per request
(in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_MEMORY</param-name>
  <!-- Use 500K -->
  <param-value>512000</param-value>
</context-param>
<context-param>
  <!-- Maximum disk space per
 request (in bytes) -->
<param-name>oracle.adf.view.faces.U
PLOAD_MAX_DISK_SPACE</param-name>
  <!-- Use 5,000K -->
 <param-value>5120000</param-value>
</context-param>
<context-param>
  <!-- directory to store temporary
 files -->
<param-name>oracle.adf.view.faces.U
PLOAD_TEMP_DIR</param-name>
  <!-- Use an ADFUploads
 subdirectory of /tmp -->
<param-value>/tmp/ADFUploads/</para
m-value>
</context-param>

タスク詳細アプリケーションにアップロードしたファイルが、同じタスク・フローに表示されません。

ファイルのアップロード後は、タスク・フォームに生成されている添付ファイルのリンクは無効になります。このリンクをクリックすると、空のストリームが返されます。

ファイルをアップロードする際には、表に添付ファイルのリンクが表示されます。ただし、このリンクは機能しません。タスク詳細をリロードして、ファイルを表示する必要があります。

ファイルの添付を追加すると新規タスク・バージョンが作成されますが、URLの添付を追加しても新規バージョンが作成されません。

URLの添付とファイルの添付では、動作は一致しません。

ファイルがアップロードされた場合、ファイルは永続的な記憶域にアップロードされるため、タスクが保存されます。これにより、新規タスク・バージョンが作成されます。URLの添付では、ユーザー・インタフェース・アプリケーションのローカル・タスク・オブジェクトのみが更新されます。そのため、タスク・バージョンは作成されません。


B.3.10 実行時のデザインタイムの問題

表B-11に、実行時のデザインタイムの問題に関する症状と考えられる原因、考えられる解決策を示します。次の2つの実行時のデザインタイム・ツールを使用できます。

  • Oracle SOA Composer

  • Oracle BPM Worklistの「タスク構成」タブ

表B-11 実行時のデザインタイムUIの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。

実行時のデザインタイム・ツールを使用して、実際にタスクを編集したときよりも前に、そのタスクはインスタンス化されています。

実行時のデザインタイムの更新は、変更後に作成されたインスタンスにのみ反映され、変更前にすでに作成されていたインスタンスには反映されません。

そのため、実行時のデザインタイム・ツールを使用してタスクを編集した場合は、新しいタスクをインスタンス化して、行った変更を新しいタスク・インスタンスに反映します。

実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。

行った変更が、MDSリポジトリにコミットされていない可能性があります。

「保存」ボタンでは、実行時のデザインタイム・ツールで行った変更がサンドボックスにのみ保存されます。これらの変更を操作中に表示するには、「コミット」をクリックして、変更内容をMDSリポジトリに送信します。


B.3.11 ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題

表B-12に、ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-12 ヒューマン・ワークフローAPIの使用の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

ヒューマン・ワークフローAPIのJavaDocの場所

N/A

ドキュメント・ライブラリで入手可能なOracle Fusion Middleware Oracle BPEL Process Managerワークフロー・サービスJava APIリファレンスを参照してください。

APIの使用方法の概要

N/A

  1. APIのドキュメントを参照してください。

  2. Oracle SOA Suiteサンプルで入手可能なサンプルworkflow-118-JavaSamplesを参照してください。

.netを使用したAPIへのアクセス

N/A

SOAP WebサービスのAPIにアクセスする.netクライアントを記述できます。Oracle SOA Suiteサンプルで入手可能なサンプルworkflow-119-DotNetSampleを参照してください。

Java APIクライアントを使用しようとすると、Class not foundのエラーが表示されます。

クライアント・クラスパスに、すべての必要なJARファイルが存在しません。

Oracle SOA Suiteサンプルで入手可能である、build.xml antファイルのclient.classpathworkflow-118-JavaSamples定義を参照してください。サンプルには、すべての必要なJARファイルが含まれています。

単純な承認タスクとあわせて使用したり、タスクの開始時にタスクを動的にルーティングするための、単純なパターン用のルーティング・スリップの作成

N/A

oracle.bpel.services.workflow.task.impl.SimpleApprovalTaskUtilを参照してください。


B.3.12 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題

表B-13に、Oracle JDeveloperのデータ・コントロールとフォームの生成の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-13 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

タスク・フォームの作成時に、Empty1.jspxが生成されません。

XSD要素に基づいて開始タスクを作成し、タスク・フォームを自動生成しようとしました。

このファイルは、BPMの開始タスク以外では必要ありません。この問題が発生した場合は、adfc-config.xmlで参照しているディレクトリと同じディレクトリにEmpty1.jspxファイルを作成し、このファイルに次の内容を入力します。

<?xml version='1.0'
 encoding='UTF-8'?><jsp:root
xmlns:jsp="http://java.sun.com/JSP/
Page" version="2.1"xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/a
df/faces/rich">  <jsp:directive.page
contentType="text/html;charset=UTF-8"/>
  <f:view>
    <af:document id="d1">
      <af:form id="f1"></af:form>
    </af:document>
  </f:view>
</jsp:root>

B.3.13 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題

表B-14に、ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-14 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

よく使用するヒューマン・ワークフロー構成パラメータの設定

N/A

Oracle Enterprise Manager Fusion Middleware Controlのワークフロー・タスク・サービス・ページおよびワークフロー通知ページを使用します。

  1. ナビゲータで「soa-infra」を右クリックします。

  2. 「SOA管理」「ワークフロー構成」「メーラー」タブの順に選択して、通知プロパティにアクセスします。

  3. 「SOA管理」「ワークフロー構成」「タスク」タブの順に選択して、タスク・サービス・プロパティにアクセスします。

Oracle Enterprise Manager Fusion Middleware Controlのプロパティ・ページで使用できないヒューマン・ワークフロー構成パラメータの設定

N/A

Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザを使用します。

  1. ナビゲータで「soa-infra」を右クリックします。

  2. 「SOAインフラストラクチャ」「管理」「システムMBeanブラウザ」の順に選択します。

  3. 「アプリケーション定義のMBean」「oracle.as.soainfra.config」「サーバー」「WorkflowConfig」「human-workflow」の順に選択します。

  4. 単純なパラメータを設定するには、「属性」タブで適切なフィールドを編集して、「適用」をクリックします。

  5. 複雑なパラメータを変更するには(たとえば、新しいロケールの追加など)、「操作」タブに切り替えて、適切な操作を選択し、必須フィールドを入力して、「呼出し」をクリックします。

ヒューマン・ワークフロー構成MBeansを編集した後に、システムMBeanブラウザに変更が反映されません。

システムMBeanブラウザには、前にキャッシュされたバージョンのBeanが表示されています。

システムMBeanブラウザの「キャッシュされたツリー・データのリフレッシュ」ボタンをクリックします。

ワークフローのカスタマイズのクラスパスURLにあるリソース・バンドルまたはクラスが、ヒューマン・ワークフロー・サービスで見つかりません。

URLでプロトコルが指定されていないか、URLに末尾のスラッシュ(/)がありません。

構成されているURLが正しい形式で指定され、プロトコルを指定していることを確認します。クラスパスで(JARファイルでなく)ディレクトリを指定する場合は、URLの末尾にスラッシュ文字が必要であることに注意してください。例:

file:///home/wstallar/wfcustomizati
ons/

特定のタスク・コンポーネントのタスク詳細の表示に使用するURLの手動設定

N/A

そのヒューマン・タスク・サービス・コンポーネントに対して、Oracle Enterprise Manager Fusion Middleware Controlの管理ページを使用します。

手順については、第22.3項「ヒューマン・タスク・サービス・コンポーネントのタスク詳細アプリケーションのURI管理」を参照してください。

既存のタスク表示URLエントリを編集または削除したり、新規エントリを追加できます。Oracle BPM Worklistから使用するタスク表示URLの場合は、アプリケーション名を「worklist」に設定する必要があります。


B.3.14 AMX拡張の問題

表B-15に、AMX拡張の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-15 AMX拡張の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

動的承認グループ・クラスが見つかりません。

Oracle SOA Suiteのクラスパスで、このクラス・ファイルにアクセスできません。

動的承認グループ・クラスへのアクセスを可能にするには、次のディレクトリにクラス・ファイルを配置する必要があります。

$FMW_HOME/SOA_HOME/soa/modules/ora
cle.soa.ext_11.1.1/classes

このディレクトリは、SOAクラスパスの一部です。

Oracle WebLogic Serverを再起動する必要があります。

実行時のデザインタイム中に、承認グループ・リスト・ビルダーに基づいてルールを定義しているときに、グループが存在しないことを示すメッセージが継続して表示されます。

承認グループの名前が引用符(" ")で囲まれていません。

名前を引用符で囲みます(たとえば、"Sample Approval Group Name")。

ルールセット内で、定義されている複数のルールがトランザクションに該当します。正しい制約が適用されていないように思われます。その結果、生成された承認者リストが正しくありません。

ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。

複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。

該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。

ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。


B.3.15 Oracle BPM Worklistとタスク領域の問題

表B-16に、Oracle BPM Worklistとタスク領域の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-16 Oracle BPM Worklistとタスク領域の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

次の例外メッセージがログに表示されます。

<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService>
<BEA-000000><ADFc:
/META-INF/adfc-config.xml: >
<Warning>
<oracle.adf.controller.internal.
metadata.MetadataService><ADFC-5
2024> <ADFc: Duplicate managed
bean definition for
'aleCompBindings' detected.> 

共有ライブラリoracle.soa.worklist.webappweblogic.xmlファイルで参照されるとともに、JARファイルのadflibWorklistComponents.jaradflibTasklistTaskflow.jarがWebアプリケーション内にパッケージ化されています。

原則的には、これらのJARはWebアプリケーション内にパッケージ化すべきではありません。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。

次の例外メッセージがログに表示されます。

Duplicate default server in
client configuration.
Configuration needs to have only
one default server in client
configuration.
Specify one default server in
client configuration. 

クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、2つのデフォルト・サーバーが指定されています。

クライアント構成ファイルまたは渡されるJAXBオブジェクトで、1つのサーバーのみをデフォルトとしてマークします。

次の例外メッセージがログに表示されます。

The default server is not
specified 

クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、デフォルト・サーバーが指定されていません。

クライアント構成ファイルまたはJAXBオブジェクトで、デフォルト・サーバーがマークされていることを確認します。

次の例外メッセージがログに表示されます。

Invalid display column.
The display column COLUMN NAME
is not a valid Task column.
Specify a valid column name.

タスク・フロー・パラメータdisplayColumnsListに渡された列名が正しくありません。

タスク・フロー・パラメータに正しい列名を渡していることを確認します。

次の例外メッセージがログに表示されます。

java.lang.IllegalStateException:
Attempt to validate an already
invalid RegionSite: 

これは、サーバー・ログ(たとえば、AdminServer.log)に時々表示される汎用的な例外です。

診断ログ(たとえば、AdminServer-diagnostic.log)の実際の例外を確認して、その例外とバグの内容を報告してください。

次の例外メッセージがログに表示されます。

Caused by:
oracle.adf.controller.Controller
Exception: ADFC-02001: The ADF
Controller cannot find
'/WEB-INF/taskList-task-flow-def
inition.xml'

Oracle BPM WorklistのJARは、共有ライブラリoracle.soa.worklist.webappを参照するか、これらをWebアプリケーション内にパッケージ化することによりクラスパスで指定しますが、いずれの方法でも指定されていません。

JARが、共有ライブラリによって参照されているか、アプリケーション内にパッケージ化されていることを確認します。

タスク・リストをリフレッシュすると、タスク・リストのフィルタが削除されます。

受信ボックスは永続的なビューではないため、受信ボックスに設定されているフィルタは、ページの再レンダリング時やタスク・リストのリフレッシュ時に削除されます。

タスク・リストにフィルタを設定するかわりに、必要なフィルタ・セットを設定したユーザー・ビューを作成し、そのビューのviewIdをパラメータViewFilterの値として渡します。これにより、そのビューがタスク・リストのデフォルト・ビューになります。

taskTypesFilterListパラメータを設定しましたが、割り当てたタスクではなく、すべてのタスクが表示されます。

taskTypesFilterListパラメータを指定している場合は、attributesFilterListパラメータの指定を忘れています。

両方のパラメータとAND演算子を使用する必要があります。例:

<parameter
id="taskTypesFilterList"
value="http://xmlns.oracle.com/H
elpDeskRequestSOAApp/HelpDeskReq
uestComposite/HelpDeskRequestHum
anTask,[
http://xmlns.oracle.com/Vacation
RequestApp/VacationRequest/Vacat
ionRequestTask]"/>

<parameter id=
"attributesFilterOperator"
value="and"/>
 <parameter id= "attributesFilterList"
 value="state=ASSIGNED"/>

次の例外メッセージがログに表示されます。

[AdminServer] [NOTIFICATION]
 [J2EE JSP-00008]
 [oracle.j2ee.jsp] [tid:
 [ACTIVE].ExecuteThread: '15'
 for queue:
 'weblogic.kernel.Default
 (self-tuning)'] [userId:
 weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000002f0a,0]
 [APP: FederatedApp_
application1] unable to dispatch
 JSP page: The following
 exception occurred:.[[
java.lang.RuntimeException:
 Cannot find FacesContext 
at
javax.faces.webapp.UIComponentCl
assicTagBase.getFacesContext(UIC
omponentClassicTagBase.java:2122)

これは、その性質から一般的によくある間違いですが、使用しているコンポーネントとは関係ありません。URLへのfacesの入力を忘れています。例:

http://server:port/FederatedApp/test.jspx

次のように、URLにfacesを入力します。

http://server:port/FederatedApp/
faces/test.jspx

次の例外メッセージがログに表示されます。

[AdminServer] [TRACE] [] []
[tid: [ACTIVE].ExecuteThread:
'5' for queue:
'weblogic.kernel.Default
(self-tuning)'] [userId:
weblogic] [ecid:
17011f2a001d6b0e:7e22d6ce:12e344
4eb1b:-8000-0000000000001d39,0]
[SRC_CLASS:
oracle.bpel.services.workflow.cl
ient.config.ClientConfigurationU
til] [APP: FederatedApp_
application1] [SRC_METHOD:
getClientConfiguration]
WorkflowServiceClientContext:
Cannot find client
configuration file: wf_client_
config.xml 

この問題には、次の3つの原因が考えられます。

  1. クライアント構成ファイルがクラスパスに指定されていません。

  2. JAXBオブジェクトがタスク・フローに渡されていません。

  3. 前述のいずれかを指定している場合は、リモート・クライアントまたはSOAPクライアントのポート番号が正しくありません。

クラスパスでクライアント構成ファイルwf_client_config.xmlが指定されているか、またはJAXBオブジェクトがタスク・フローに渡されていることを確認します。すでに行っている場合は、ポート番号でSOAサーバーが指定されていることを確認します。

次の例外メッセージがログに表示されます。

<Error> <Deployer> <BEA-149265>
<Failure occurred in the
execution of deployment request
with ID '1297964056778' for
task '3'. Error is:
'weblogic.management.DeploymentE
xception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false].'
weblogic.management.DeploymentEx
ception: [J2EE:160149]Error
while processing library
references. Unresolved
application library references,
defined in
weblogic-application.xml:
[Extension-Name:
oracle.soa.workflow.wc,
exact-match: false]. 

共有ライブラリoracle.soa.workflow.wcweblogic.xmlで参照されていますが、サーバー上でこの共有ライブラリを使用できません。

アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。

列にマップされているマップ済属性が表示されません。

注意: Oracle BPM Worklistのフレックス・フィールドは、マップ済属性と呼ばれるようになりました。

正しいパラメータのセットが、タスク・リストのタスク・フローに渡されていません。

正しいパラメータのセットを渡す方法は、次のとおりです。

<parameter id= "displayColumnsList"
value="assignees,creator,
assignedDate,state,
textAttribute1,textAttribute2"/>

textAttribute1,textAttribute2は、列名に値を渡すための正しい方法です。これらの値に関連付けられている'label name'(マッピングの名前)を指定しても、機能しません。

パラメータtaskTypesFilterListには、完全修飾の値を具体的に渡す必要があります。そうしない場合、列の作成は機能しません。

例:

<parameter
 id="taskTypesFilterList"
value="http://xmlns.oracle.com/Hel
pDeskRequestSOAApp/HelpDeskRequest
Composite/HelpDeskRequestHumanTask
"/>

B.3.16 テストから本番への移行の問題

表B-17から表B-20に、テストから本番への移行の問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-17 テストから本番への移行の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

SOAサーバーのデフォルトのレルム名の検索

N/A

defaultRealmNameは、アイデンティティ構成サービスから取得できます。これは、SOAPサービスのテスト・ページから取得できます。

  1. ブラウザから、次のURLにアクセスします。

    http:HOST:PORT/integration/servic
    es/IdentityService/configuration
    
  2. 「操作」ドロップダウン・メニューから、「getDefaultRealmName」を選択します。

  3. 「起動」ボタンをクリックします。

これにより、デフォルトのレルム名が取得されます。次に、起動に対するサンプルの応答を示します。

<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap
/envelope/">
 <env:Header/>
 <env:Body>
  <realmName
xmlns="http://xmlns.oracle.com/bpel/servi
ces/IdentityService">jazn.com</realmName>
 </env:Body>
</env:Envelope>

表B-18 テストから本番への移行の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

ユーザー認証エラー(次の例では、ユーザーはFMW_USERID、アイデンティティ・コンテキストはjazn.comです): 次のエラーが発生したと仮定します。

[java] Error in workflow service Web
service operation invocation. The
error is ORA-30501:Error in
authenticating user.
[java] Error in authenticating and
creating a workflow context for
user jazn.com/FMW_USERID. [java]
Verify that the user credentials
and identity service configurations
are correct.

これは、指定されたユーザーがシードされておらず、LDAPプロバイダで使用できない場合に発生します。

ユーザーが適切にシードされているかどうかを確認するには、ブラウザからそのユーザーでOracle BPM Worklistにログインしてみます。そのユーザーでOracle BPM Worklistにログインできれば、ユーザーはシードされています。

Oracle Internet Directoryやその他のLDAPプロバイダを使用している場合は、LDAPプロバイダの構成が正しく完了していることを確認します。そうでない場合、このエラーは解決できません。

タスク・ペイロード・マップ済属性(以前の名前はフレックス・フィールド)マッピングのインポート:

ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピングをインポートしているときに、次のエラーがコンソール・ログに表示されることがあります。

[java] Caused by:
java.sql.SQLIntegrityConstrain
tViolationException: ORA-02291:
integrity constraint (UAT_
SOAINFRA.SYS_C0018364) violated -
parent key not found* * 

ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポートは、2つのステップの処理で構成されます。

ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポート操作を行う前に、実行が必要な前提条件のステップがあります。これは、ターゲットSOAサーバーへの属性ラベルのインポート操作です。

正常に完了するためには、ヒューマン・ワークフローのテストから本番への移行ツールを使用して、(正しい順序で)次の操作を実行します。

  1. ターゲットSOAサーバーに属性ラベルをインポートします。

  2. ターゲットSOAサーバーにペイロード・マッピングをインポートします。

詳細は、第22.6項「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。


表B-19 テストから本番への移行の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

ルールの移行時に、次のエラーが発生したと仮定します。

[java]  Error encountered during
migration. [java] Exception in thread "main"[java] 
UserConfigDataMigrationException:[java]
faultString:Invalid parameters for RULE.
[java] Invalid user and group: both
parameters can not have null values.[java] To migrate User Rules,
provide the 'user' parameter only.
[java]  To migrate Group Rules, provide
the 'group' parameter only.[java]
oracle.bpel.services.workflow.util.
tools.wfUserConfigDataMigrator.
UserConfigDataMigrationE xception [java]
at oracle.bpel.services.workflow.
util.tools.wfUserConfigDataMigrator. implhwfMigrator.parseParametersNode

migration.propertiesファイル内に、このエラーに関連する2つのプロパティがあります。

  • user

  • group

ルールの移行(エクスポートまたはインポート)操作時には、これらのいずれか(userまたはgroup)に値を設定する必要があります。つまり、usergroupの両方に、nullまたは空の値を設定することはできません。

これらのいずれかに値を設定します。ユーザー・ルールの移行を実行するには、userパラメータのみを設定します。グループ・ルールの移行を実行するには、groupパラメータのみを設定します。

ルールの移行時に、次のエラーが発生したと仮定します。

[java]  Error encountered during
migration.[java] Exception in
thread "main"[java] 
UserConfigDataMigrationExcepti
on: [java]  faultString:
Invalid parameters for RULE.
[java]  Invalid user and group: both
 parameters can not have values.
[java]  To migrate User Rules,
 provide the 'user'parameter only. 
[java]  To migrate Group Rules,
 provide the 'group' parameter only.
[java]  oracle.bpel.services. workflow.util.tools.wfUserConfigData
Migrator.UserConfigDataMigrationE
xception 

これは前述の説明と似ています。

ルールの移行(エクスポートまたはインポート)操作時に、usergroupの両方のパラメータに値を設定することはできません。

これらのいずれかに値を指定します。


表B-20 テストから本番への移行の問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

インストール後のサーバーの状態のテスト

N/A

テストから本番への移行を実行する前に、サーバーの状態をテストすることは有用です。

ブラウザから、いくつかのSOAPサービスをテストできます。次に、ヒューマン・ワークフロー・サービスのサブセットとOracle BPM Worklistを示します。

http://host:port/integration/worklistapp/

http://host:port/integration/services
/TaskQueryService/TaskQueryService

http://host:port/integration/services/IdentityService/configuration

http://host:port/integration/services/IdentityService/identity

http://host:port/integration/services/RuntimeConfigService/RuntimeConfigService

これらのサービスで任意の操作をテストして、その操作によって発生する結果を確認できます。同様に、Oracle BPM Worklistにユーザーとしてログインして、問題がないかどうかを確認できます。


B.3.17 アイデンティティ・サービスの問題

表B-21表B-22に、アイデンティティ・サービスの問題に関する症状と考えられる原因、考えられる解決策を示します。

表B-21 アイデンティティ・サービスの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

LDAPの一部のユーザーのみ、Oracle BPM Worklistにログインできます。

ユーザー・ベースDNが正しく構成されていません。

すべてのシード済グループにユーザー・ベースを指定します。これは、次の2つの方法で行うことができます。

すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにユーザーがシードされている場合、

UserDN 1 : cn=users1,dc=us,dc=oracle,dc=com
UserDN 2 : cn=users2,dc=us,dc=oracle,dc=com
UserDN 3 : cn=users3,dc=us,dc=oracle,dc=com

グループ・ベースDNを次のように指定します。

dc=us,dc=oracle,dc=com

これは、共通のDNです。一部のユーザーDNのみが必要な場合は(たとえば、UserDN1UserDN2)、$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内の名前がidstore.ldapserviceInstanceに、次のプロパティを追加する必要があります。

<serviceInstance name="idstore.ldap"
 provider="idstore.ldap.provider">
 <property name="idstore.config.provider" 
value="oracle.security.jps.wls.internal.idstore.WlsLd
apIdStoreConfigProvider"/>
 <property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
 <extendedProperty>
   <name>user.search.bases</name>
   <values>
      <value>cn=users1,dc=us,dc=oracle,dc=com</value>
      <value>cn=users2,dc=us,dc=oracle,dc=com</value>
   </values>
 </extendedProperty>
</serviceInstance>

最初の認証者にシードされているユーザーとグループのみは表示されますが、他の認証者からは表示されません。

デフォルトでは、最初の認証者からのユーザーとグループが認可されます。

11.1.1.4以降では、複数の認証者からのユーザーとグループを認可できます。$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内のidstoreインスタンスに、次のプロパティを追加します。

<serviceInstance name="idstore.ldap"
  provider="idstore.ldap.provider">
   ............................
   <property name="virtualize" value="true"/>
   ..............................
</serviceInstance> 

表B-22 アイデンティティ・サービスの問題のトラブルシューティング

症状 考えられる原因 考えられる解決策

アイデンティティ・サービスのAPIに、アイデンティティ・コンテキストへのパラメータとしてmyrealm(Oracle WebLogic Server管理コンソールの構成のデフォルト・レルム)を渡すと、次の例外が表示されます。

Exception seen :
 Service"
Unknown macro: {0}
"in configuration" 
Unknown macro: {1}
" could not be
initialized. Error
in initializing
service
"Authentication"
in configuration
"myrealm".

ヒューマン・ワークフローのアイデンティティ・サービスでは、Oracle WebLogic Serverの構成ではなく、WorkflowIdentityConfigファイルに設定されているアイデンティティ・コンテキスト(デフォルトでは、jazn.com)が使用されます。したがって、カスタム・コード内で、jazn.comがアイデンティティ・コンテキストとして渡されている場合は、認証APIは問題なく機能します。

レルム名を変更するために、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザで、WorkflowIdentityConfigファイルを編集できます。

  1. ナビゲータで「soa-infra」を右クリックします。

  2. 「SOAインフラストラクチャ」「管理」「システムMBeanブラウザ」の順に選択します。

  3. 「アプリケーション定義のMBean」「oracle.as.soainfra.config」「サーバー」「WorkflowIdentityConfig」「human-workflow」「WorkflowIdentityConfig.ConfigurationType」の順に選択します。

  4. setRealmNameの操作を呼び出して、構成を選択し、名前を変更します。この変更では、サーバーの再起動が必要です。

Oracle WebLogic ServerでLDAPを構成すると、Oracle WebLogic Server管理コンソールにユーザーは表示されますが、次のエラーがスローされます。

No Role found
matching the
criteria

グループのベースDNが正しく構成されていません。参照されているグループが、LDAPに存在しないか、LDAPの構成時に設定されたグループ・ベースDNの外部にシードされている可能性があります。

すべてのシード済グループにグループ・ベースを指定します。これは、次の2つの方法で行うことができます。

すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにグループがシードされている場合、

GroupDN 1 : cn=groups1,dc=us,dc=oracle,dc=com
GroupDN 2 : cn=groups2,dc=us,dc=oracle,dc=com
GroupDN 3 : cn=groups3,dc=us,dc=oracle,dc=com

グループ・ベースDNを次のように指定します。

dc=us,dc=oracle,dc=com

これは、共通のDNです。一部のグループDNのみが必要な場合は(たとえば、GroupDN1GroupDN2)、$DOMAIN_HOME/config/fmwconfig/jps-config.xmlファイル内の名前がidstore.ldapserviceInstanceに、次のプロパティを追加する必要があります。

<serviceInstance name="idstore.ldap"
 provider="idstore.ldap.provider">
   <property name="idstore.config.provider"
value="oracle.security.jps.wls.internal.idstore.WlsL
dapIdStoreConfigProvider"/>
 <property name="CONNECTION_POOL_CLASS"
value="oracle.security.idm.providers.stdldap.JNDIPool"/>
  extendedProperty>
  <name>group.search.bases</name>
  <values>
    <value>cn=groups1,dc=us,dc=oracle,dc=com</value>
    <value>cn=groups2,dc=us,dc=oracle,dc=com</value>
  </values>
 </extendedProperty>
</serviceInstance>

B.4 イベント配信ネットワークのトラブルシューティング

この項では、イベント配信ネットワーク(EDN)の問題をトラブルシューティングする方法について説明します。

B.4.1 ロールバックされたOAOOイベント配信メッセージがログ・ファイルに表示される

問題

Javaデバッグ・レベルを「TRACE:16 (FINER)」以下の値に設定している場合は、次のようなログ・メッセージが表示される場合があります。

Began XA for OAOO
Rolled back XA for OAOO

解決策

これらは、配信待機中のイベントがない場合のOAOOイベント配信の通常メッセージです。これらはエラー状態ではありません。Javaロギング・レベルを「TRACE:1 (FINE)」以上の値に設定することによって、これらのメッセージが表示されないようにできます。

B.4.2 イベントが同じコンポジットの複数リビジョンによって使用される

問題

イベントが同じコンポジットの複数のリビジョンによって使用されます。

解決策

設計によって、異なるコンポジットで同じイベントをサブスクライブできます。ただし、同じコンポジットの複数のリビジョンで同じイベントをサブスクライブする場合はエラーです。これが発生するのは、コンポジットのアクティブ・バージョンが複数ある場合で、これはパッチ失敗の結果の可能性があります。

次の手順を実行して、同じコンポジットの複数のアクティブ・リビジョンが存在するかどうかを判別し、アクティブである必要のないコンポジット・リビジョンをリタイアさせます。

  1. Oracle Enterprise Manager Fusion Middleware Controlに移動します。

  2. 「SOA」「soa-infra」の順にクリックします。

    「ダッシュボード」タブの「デプロイ済コンポジット」セクションに、デプロイ済コンポジットの名前、リビジョンおよびモード(例: アクティブ)のリストが表示されます。

  3. 同じ名前でアクティブ・モードであるが、リビジョンが異なるコンポジットを識別します。

  4. アクティブである必要のないコンポジット・リビジョンをクリックします。

  5. 「リタイア」ボタンをクリックします。

B.4.3 ビジネス・イベントがSOAサーバーによって2回(以上)取得される

問題

ビジネス・イベントがFusion J2EEアプリケーションから発生し、複数回取得されます。予期される動作は、それらが1回のみ取得されることです。

解決策

パッチが失敗すると、特定のコンポジットの2つのバージョンがアクティブになる可能性があります(つまり、古い方のバージョンがリタイアされていません)。コンポジットの複数のバージョンがアクティブである場合、これらはすべてサブスクライバになり、イベントが複数回取得されます。これは通常のシナリオでは発生しないようにする必要があります。パッチを再適用し、デプロイ済コンポジットのアクティブ・バージョンが1つのみであることを確認します。

B.4.4 EDNとコンポジットまたはクラスタ全体のコンポジット間でメッセージが一部失われる

問題

メッセージは主に、次の理由で失われます。

  1. EDNメッセージが配信されなかった。

  2. ターゲットの非同期サービスが応答しなかった。

  3. メッセージがロールバックされた(メッセージは失われなかったが、引き続きOracle Enterprise Manager Fusion Middleware Controlに表示される)。

解決策

この問題では通常、メッセージの宛先を識別し、パスを診断する必要があります。

  • Oracle WSM Policy Managerセキュリティ構成を使用して、クライアントがSOAコンポジットを起動できるかどうかを調べます。

  • トランザクションが一時(非永続)でないことを確認します。

    Oracle BPEL Process Managerは、非同期コールバックの待機中、デハイドレーション・ストア・データベースを使用して、長期間にわたる非同期プロセスとその現在の状態の情報をデータベースに保持します。データベースにプロセスを格納することにより、プロセスを維持し、システムの停止やネットワークの問題が発生した場合の状態や信頼性の低下を防ぎます。Oracle BPEL Process Managerには、2つのタイプのプロセスがあります。これらのプロセスは、デハイドレーション・ストア・データベースに様々な方法で影響を与えます。

    • 一時プロセス: このプロセス・タイプでは、プロセス実行時に中間デハイドレーション・ポイントは発生しません。未処理のフォルトがある場合、またはプロセス実行時にシステム停止時間がある場合、一時プロセスのインスタンスはトレースをシステムに残しません。一時プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できません。一時プロセスは通常、短期間のリクエスト/レスポンス形式のプロセスです。JDeveloperで設計する同期プロセスは、一時プロセスの例です。

    • 永続プロセス: このプロセス・タイプでは、次のアクティビティのために、実行時にデータベースで1つ以上のデハイドレーション・ポイントが発生します。

      • receiveアクティビティ

      • pickアクティビティのOnMessageブランチ

      • pickアクティビティのOnAlarmブランチ

      • waitアクティビティ

      永続プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できます。これらのプロセスは通常長期間存続し、一方向呼出しを介して開始されます。メモリー不足およびシステム停止時間の問題があるため、永続プロセスはメモリーについて最適化できません。

  • コンポジット・インスタンスがOracle Enterprise Manager Fusion Middleware Controlに表示されず、SOAインフラストラクチャが実行中の場合は、「SOAインフラストラクチャの共通プロパティ」ページで、「監査レベル」「オフ」に設定されていないことを確認します。これは、Oracle Enterprise Manager Fusion Middleware Controlで確認できます。

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

    2. 「SOA管理」「共通プロパティ」の順に選択します。

  • コンポジット・インスタンスが使用可能な場合は、bpel.config.oneWayDeliveryPolicy BPELプロパティの値を確認します。値をOracle Enterprise Manager Fusion Middleware Controlで確認できます。

    1. ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を展開します。

    2. パーティションを展開し、コンポジットを選択します。

      コンポジットに対する「ダッシュボード」ページが表示されます。

    3. 右上隅にある「XML定義の表示」アイコンをクリックします。

      そのコンポジットに対するcomposite.xmlの内容が表示されます。

    これがasync.cacheに設定されている場合は、メッセージが失われる可能性があります。信頼性の高いメッセージのためには、async.persistに設定します。これは通常、composite.xmlファイルのBPELプロセス・サービス・コンポーネントのセクションで指定するため、カスタム・コンポジットに対して設定できます。値がcomposite.xmlに設定されていない場合は、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザのoneWayDeliveryPolicyの値が使用されます。次の値を指定できます。

    • async.persist: メッセージは、データベース・ハッシュ・マップに保持されます。

    • async.cache: メッセージはメモリーに格納されます。

    • sync: 同じスレッドで直接起動が発生します。

    これらの設定の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「デプロイメント・ディスクリプタのプロパティ」の付録および「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」の章を参照してください。

    システムMBeanブラウザでのoneWayDeliveryPolicyプロパティの設定の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。

    トランザクションによって、応答が返されないターゲット非同期サービスが起動されている可能性もあります。この場合、コンポジット・インスタンス・フローには、ターゲット非同期サービスへのコールが表示されます。

  • インスタンスがロールバックされ、メッセージがリカバリ中であることを確認します。

    1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

    2. 「soa-infra」(SOA_cluster_name)を右クリックし、「サービス・エンジン」「BPEL」の順に選択します。

    3. 「リカバリ」タブをクリックします。

    これは、メッセージを受信する外部参照にアクセスできない場合に発生する可能性があります(たとえば、外部Webサービス、Siebelなどのエンタープライズ・アプリケーションなど)。

B.5 パフォーマンスのトラブルシューティング

この項では、パフォーマンスの問題をトラブルシューティングする方法について説明します。

B.5.1 インスタンスおよびフォルトのメトリックのあるページのロードの最適化

本番システムには、多数のコンポジット・インスタンスおよびフォルトが含まれることがあり、情報の取得が比較的遅くなると、Oracle Enterprise Manager Fusion Middleware Controlの各ページでタイムアウトが発生する可能性があります。SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・コンポーネントおよびサービス・エンジンの「ダッシュボード」ページ、SOAインフラストラクチャおよびサービス・エンジンの「デプロイ済コンポジット」ページ、およびパーティションのホーム・ページのロード・パフォーマンスを最適化するために、「SOAインフラストラクチャの共通プロパティ」ページで、次の処理を実行する2つのプロパティ設定を有効にできます。

  • ページをロードする際にすべてのメトリック情報のロードを無効にします。インスタンスとフォルトのメトリックは、サーバーから必要に応じて取得できます。


    注意:

    この設定によって、フォルト、インスタンスおよび数のメトリックが無効になり、DMSメトリックは無効になりません。

  • インスタンス、フォルトおよび数の取得を指定した期間(デフォルトの選択)に制限します。

インスタンスおよびフォルトのメトリックのあるページのロードを最適化する手順は、次のとおりです。

  1. ナビゲータで「soa-infra」をクリックします。

  2. 値が表示されるのは、「最新のコンポジット・インスタンス」セクションの「実行中」フィールドと「合計」フィールド、および「デプロイ済コンポジット」セクションの「インスタンス」列と「フォルト・インスタンス」列です。これらの値が大きいと、このページや類似した情報を持つ他のページをロードするときに、時間がかかる場合があります。

    soaadmin_fetch1.gifの説明が続きます
    図版soaadmin_fetch1.gifの説明

  3. 「SOAインフラストラクチャ」メニューから、「SOA管理」「共通プロパティ」の順に選択します。

  4. 「データ数の表示」セクションで、インスタンス数とフォルト数のメトリックのフェッチの無効化チェック・ボックスを選択します。

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

  6. 「SOAインフラストラクチャ」の「ダッシュボード」ページに戻ります。

  7. 以前に表示されていた値がリンクに置き換えられています。

  8. 「デプロイ済コンポジット」セクションで、特定のSOAコンポジット・アプリケーションのリンクをクリックして、インスタンス数に関する詳細を表示します。選択したリンクの値が計算されます。

    soaadmin_fetch7.gifの説明が続きます
    図版soaadmin_fetch7.gifの説明

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

  10. 「インスタンス数」をクリックします。

    soaadmin_fetch6.gifの説明が続きます
    図版soaadmin_fetch6.gifの説明

    メッセージに、SOAインフラストラクチャの実行中インスタンスおよび合計インスタンスの数が表示されます。

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

  12. 「SOAインフラストラクチャの共通プロパティ」ページに戻ります。

  13. 「データ数の表示」セクションで、「インスタンスとフォルトの表示を次に制限: 過去time_periodチェック・ボックスが選択されていない場合は選択します。デフォルトで、このチェック・ボックスは選択済で、期間は24時間(1日)に設定されています。

  14. 最新のインスタンス、フォルトおよび数のメトリックを表示用に取得する期間を指定します(例: 10分)。

  15. 「適用」をクリックします。

  16. 「SOAインフラストラクチャ」の「ダッシュボード」ページに戻ります。

  17. ページの右上のセクションに次のメッセージが表示されることに注意してください。

    Recent Instances and Faults for the last 10 minutes
    
  18. 「インスタンス数」をクリックします。

    期間に指定した値は、メッセージ・タイトルに表示されます。その期間の実行中メッセージおよび合計メッセージの数も表示されます。

    soaadmin_fetch8.gifの説明が続きます
    図版soaadmin_fetch8.gifの説明

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

  20. 「デプロイ済コンポジット」セクションで、リンクをクリックします。

    soaadmin_fetch2.gifの説明が続きます
    図版soaadmin_fetch2.gifの説明

    期間に指定した値は、メッセージ・タイトルに表示されます。選択したSOAコンポジット・アプリケーションに対するその期間の実行中メッセージおよび合計メッセージの数も表示されます。

    soaadmin_fetch3.gifの説明が続きます
    図版soaadmin_fetch3.gifの説明

これらのプロパティの設定方法については、第3.1項「SOAインフラストラクチャ・プロパティの構成」を参照してください。


注意:

  • インスタンス数とフォルト数のメトリックを取得するリンクをクリックするとOracle Enterprise Manager Fusion Middleware Controlがタイムアウトする場合は、トランザクション・タイムアウト・プロパティの値を増やします。詳細は、B.2.1項「接続タイムアウトの解決」を参照してください。

  • 「再計算」をクリックすると、再計算がすぐに実行されますが、進行状況インジケータは表示されません。ただし、データに対する更新は画面に反映されます。


B.5.2 開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決

使用中のJARファイル数、またはJDK 6/JREによるファイル記述子の使用(あるいはその両方)によっては、実行時またはコンパイル時に、次のエラーが発生する可能性があります。

Message send failed: Too many open files 

このエラーを解決するには、ファイル記述子の数を少なくとも4096に増やします。

  1. descriptorsの値を識別するには、limitコマンド(C shellの場合)またはulimitコマンド(Bash shellの場合)を使用します。通常、1024の値は低すぎます(特にJDK 6の場合)。

    % limit
    
    cputime      unlimited
    filesize     unlimited
    datasize     unlimited
    stacksize    10240 kbytes
    coredumpsize unlimited
    memoryuse    unlimited
    vmemoryuse   unlimited
    descriptors  1024
    memorylocked 500000 kbytes
    maxproc      46720
    
  2. rootユーザーでオペレーティング・システムにログインします。

  3. /etc/security/limits.confファイルを編集してdescriptorsの値を大きくします。

    この例の場合、すべてのユーザーについて制限を4096に増やすと、limits.confファイルは、次のようになります。

    #<domain>      <type>  <item>         <value>
    #
    
    #*               soft    core            0
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #@student        -       maxlogins       4
    
    # End of file
    @svrgroup    soft    memlock         500000
    @svrgroup    hard    memlock         500000
    *           soft    nofile          4096
    *           hard    nofile          4096
    
  4. 端末を閉じてから再度開き、変更内容を有効にします。システムの再起動は不要です。

B.5.3 ペイロードが大きいことによって発生するMaxMessageSizeExceededExceptionエラーの解決

デプロイ済のSOAコンポジット・アプリケーションに大きなペイロード(たとえば、12 MB)を指定し、そのペイロードを表示するために、監査証跡で「XML文書の表示」をクリックすると、MaxMessageSizeExceededExceptionエラーが発生することがあります。このエラーは、次のJVMパラメータを設定することによって解決できます。

  1. 次のファイルを開きます。

    • UNIXオペレーティング・システムでは、$MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shを開きます。

    • Windowsオペレーティング・システムでは、MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.batを開きます。

  2. 次の値を指定してweblogic.MaxMessageSizeプロパティを追加します。

    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
    -Dweblogic.MaxMessageSize=20000000"
    export EXTRA_JAVA_PROPERTIES 
    
  3. サーバーを再起動します。

B.5.4 表領域の拡張による実行時の問題の回避

データベース表領域が拡張されていない場合は、実行時処理に影響を与える可能性があります。メッセージが処理または保持されず、次のような例外エラーがログ・ファイルに表示される可能性があります。これは、Oracle BPEL Process Managerではインスタンス・データの格納をデータベースに依存しているためです。データベースが使用可能でない場合は、実行時処理に影響を与えます。

INFO: MediatorServiceEngine returning after processing the request for 
operation = processResponse 

[EL Warning]: 2009.01.14 11:46:16.783--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 

Error Code: 1691 
Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.AuditTrail@199b33d) 
[EL Warning]: 2009.01.14 11:46:16.782--UnitOfWork(32372128)--Exception 
[EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build 
SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to 
extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in 
tablespace SH_SOAINFRA 
. . .
. . .

表領域は、サイズ制限に達したときに、それ自体が指定のサイズだけ拡張するように設定してください。自動拡張を有効にしない場合は、表領域がクリティカルまたは警告のしきい値サイズに達したことを示すアラートが生成されたときに、必ず対応してください。サイズ・アラートには、表領域サイズを手動で大きくすることで対応できます。

B.6 サーバーのトラブルシューティング

この項では、サーバーの問題をトラブルシューティングする方法について説明します。

B.6.1 管理対象サーバーの起動および停止のベスト・プラクティス

次の(両方ではなく)いずれかの方法で管理対象サーバーを起動および停止することをベスト・プラクティスとしてお薦めします。管理対象サーバーをコマンドラインから起動して、Oracle Enterprise Manager Fusion Middleware Controlから停止する(または、その逆)など、これらの方法を組み合せないでください。

  • Oracle Enterprise Manager Fusion Middleware Control

    この方法を使用する場合は、ノード・マネージャが起動され実行中である必要があります。Oracle Enterprise Manager Fusion Middleware Controlから実行される管理対象サーバーのすべての起動および停止は、ノード・マネージャによって追跡されます。この方法では、サーバーの状態は問題にはなりません。

  • コマンドライン

    この方法を使用する場合、サーバーの状態はノード・マネージャによって追跡されません。このため、サーバーをコマンドラインから起動し、Oracle Enterprise Manager Fusion Middleware Controlから停止すると、Oracle WebLogic管理サーバーはステータスを判断するためにノード・マネージャにアクセスしますが、「不明」という状態が返されます。

Oracle Enterprise Manager Fusion Middleware Controlからサーバーを停止および起動する手順は、次のとおりです。

  1. 「WebLogicドメイン」を展開します。

  2. 管理対象サーバー(例: soa_server1という名前のサーバー)を選択します。

  3. 「制御」「停止」の順に選択します。

  4. 「制御」「起動」の順に選択します。

コマンドラインからの管理対象サーバーの起動および停止の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド』を参照してください。

B.6.2 プロキシ・サーバーの指定

システム・プロパティを使用してプロキシ・サーバーを指定するには、クライアント・アプリケーションを通常の方法で記述し、クライアント・アプリケーションを実行するとき、Javaシステム・プロパティを指定します。

setenv PROXY_SETTINGS "-DproxySet=true
-Dhttp.proxyHost=www-myproxy.us.mycompany.com -Dhttp.proxyPort=80
 -Dhttp.nonProxyHosts=localhost|*.us.mycompany.com
  |0:0:0:0:0:0:0:1|fe80:0:0:0:250:56ff:fe31"

注意:

http.proxyHostおよびhttp.proxyPortなどのプロキシ・プロパティの値を指定する場合は、http.nonProxyHostsプロパティも指定します。

B.6.3 一部のローエンドのホストで、フロー・ダイアグラムが初回に表示されない

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

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

B.6.4 IPv4とIPv6をサポートするデュアル・スタック・ホスト上のOracle Enterprise Manager Fusion Middleware Controlへのアクセス

IPv4とIPv6の両方がサポートされているデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合は、Oracle Enterprise Manager Fusion Middleware ControlのIPv6のURLにIPv4クライアントがアクセスするには、表B-23に示されているようにetc/hostsファイルを更新する必要があります。

表B-23 etc/hostsファイルのIPv4とIPv6の設定

クライアント etc/hostsファイルを次のように編集します

IPv4クライアント上で:

xx.xxx.xxx.xxx myhost10-ipv6 

ここで、xx.xxx.xxx.xxxはIPv6のIPアドレスです。

IPv6クライアント上で:

fdf5:74cc:db0a::0:1  myhost10-ipv6 myhost10-ipv6.us.oracle.com

注意: fdf5:74cc:db0a::0:1は、使用するホスト環境に適した値に置き換えます。


B.7 ブラウザのトラブルシューティング

この項では、ブラウザの問題をトラブルシューティングする方法について説明します。

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

Safariブラウザを使用する場合は、Oracle Enterprise Manager Fusion Middleware ControlでのWSDLファイルの内容の表示に関する、次の制限と回避策に留意してください。Mozilla Firefoxは正常に動作するため、この回避策は必要ありません。

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

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

  3. 表示されている「WSDL」リンクをクリックします。

    選択したWSDLの内容が表示されていない空白ページが開きます。

    回避策として、次の追加の手順を実行します。

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

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

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

B.8 その他のトラブルシューティングのドキュメント

表B-24に、その他のトラブルシューティングの問題について参照するドキュメントを示します。

表B-24 その他のトラブルシューティングのドキュメント

参照内容 参照先

WebLogic診断フレームワーク(WLDF)および診断フレームワーク(DFW)を使用した、Oracle SOA Suiteの問題の診断

第11章「SOAコンポジット・アプリケーションに関する問題の診断」


大規模ドキュメントとメタデータの管理、および多数のインスタンスを含む環境の管理

『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「大規模ドキュメントおよび多数のインスタンスの管理」の章

デプロイメント・エラーおよびコンパイル・エラーのトラブルシューティング

『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のテストおよびトラブルシューティングに関する項

Oracle WSM Policy Managerエラーのトラブルシューティング

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の「問題の診断」の章