プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle ADF FacesによるWebユーザー・インタフェースの開発
12c (12.2.1.2.0)
E82917-02
目次へ移動
目次

前

G ADF Facesのトラブルシューティング

この付録では、ADF FacesフレームワークとADF Facesコンポーネントを使用してアプリケーション・ユーザー・インタフェースを設計する際に生じる可能性のある一般的な問題について説明し、その解決方法を解説しています。

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

表示される可能性のあるエラー・メッセージの詳細は、この章およびエラー・メッセージを参照してください。

G.1 ADF Facesのトラブルシューティングについて

ADFアプリケーション・ユーザー・インタフェースを設計する際に、問題が発生する可能性があります。事前に問題を特定、診断および解決するには、特定のガイドラインとプロセスに従う必要があります。

この項では、この付録内の情報を使用するためのガイドラインとプロセスについて説明します。次のガイドラインおよびプロセスに従うことで、作業の焦点を問題解決に絞り、問題解決までの時間を短縮できます。

ガイドライン

この章の説明を使用する際に、次のベスト・プラクティスに留意してください。

  • この章の解決策を実行した後すぐに、このトラブルシューティング情報を利用するきっかけとなった失敗したタスクを再試行します。再試行してもタスクが失敗する場合、この章に記載されている他の解決策を実行し、再度失敗したタスクを実行します。このプロセスを問題が解決するまで繰り返します。

  • 実行した解決策、確認された現象およびトラブルシューティング中に収集したデータを記録しておきます。この章の情報を使用しても問題が解決されずサービス・リクエストを記録することになった場合、これらの情報があると迅速な問題解決につながります。

プロセス

この章の情報を利用する場合は、表G-1に概要を示したプロセスに従ってください。特定の項の情報でも問題を解決できない場合は、このプロセスの次のステップに進んでください。


表G-1 この章の情報を利用するプロセス

手順 使用する項 目的

1

ADFアプリケーションのビュー・レイヤーのトラブルシューティングのスタート・ガイド

ADFアプリケーションのビュー・レイヤーのトラブルシューティングを開始します。この項に示す手順によって、幅広い問題に迅速に対応できます。

2

共通の問題の解決

ADFアプリケーションのビュー・レイヤーに関する問題別トラブルシューティングの手順を実行します。この項では、次の内容について説明します。

  • 問題の考えられる原因

  • それぞれの考えられる原因に対応する解決策

3

My Oracle Supportを使用したその他のトラブルシューティング情報

My Oracle Supportを使用してその他のトラブルシューティング情報を取得します。My Oracle Support Webサイトから、ナレッジ・ベース記事、コミュニティ・フォーラム、ディスカッション・ページへのリンクを含むいくつかの有益なトラブルシューティング・リソースにアクセスできます。

4

My Oracle Supportを使用したその他のトラブルシューティング情報

この章とMy Oracle Supportの情報では問題を解決できない場合に、サービス・リクエストを記録します。サービス・リクエストを記録するには、https://support.oracle.comのMy Oracle Supportを使用できます。


G.2 ADFアプリケーションのビュー・レイヤーのトラブルシューティングの開始

Oracle ADFの組込みエラー・メッセージは、ユーザーに問題点をアラートし、問題の原因になっているアプリケーションの層も特定します。ADF Facesトラブルシューティングを最適化するには、特定の構成オプションを設定する必要があります。

Oracle ADFの組込みエラー・メッセージによって、アプリケーションのどのレイヤーが問題の原因となっているかを判別できます。エラー・メッセージは、トラブルシューティングの開始点です。エラー・メッセージでエラー・メッセージを検索できます。また、Webで特定のエラー・メッセージを調べることもできます。ADFビジネス・コンポーネントのモデル・レイヤーから発生するエラー・メッセージにはJBO接頭辞が付きます。これらは、ADF Facesビュー・レイヤーも含めて他のすべてのADFレイヤー・コンポーネントと同様に、Javaエラー・メッセージとして、Oracleパッケージとともに表示されます。

レイヤーを特定できたら、診断ツールを実行することもできます。また、ログ・ファイルを表示して記録されたエラーがないか確認することもできます。Oracle Technology Networkの技術フォーラムで、エラー・メッセージ関連のディスカッションを検索できます。Oracle ADFのコンポーネント・レイヤーには、それぞれ専用のフォーラムが設定されています。Oracle Technology Network(https://forums.oracle.com/forums/main.jspa?categoryID=84)の開発ツール・リストの下にあるJDeveloperおよびOracle ADFのフォーラム・ホームページにアクセスしてください。

トラブルシューティングを開始する前に、エラーを簡単に検索できるようにADFアプリケーションを構成しておく必要があります。表G-2では、トラブルシューティング用にADFアプリケーションのビュー・レイヤーを構成する際の設定の概要を示しています。


表G-2 ADF Facesトラブルシューティング最適化の構成オプション

構成に関する推奨事項 説明

デバッグ出力を有効化します。

デバッグ出力を有効化するには、trinidad-config.xmlファイルで次のように設定します。

<adf-faces-config xmlns=
        "http://xmlns.oracle.com/adf/view/faces/config">
  <debug-output>true</debug-output>
  <skin-family>oracle</skin-family>
</adf-faces-config>

WebブラウザでのHTMLマークアップの可読性を次のように改善します。

  • 出力の行折返しとインデントを行います。

  • 正しく指定されていない要素やその他の一般的なHTMLエラー(指定の正しくない要素など)を検出し、強調表示します。

  • HTMLの各ブロックを生成したADF Facesコンポーネントの識別に役立つコメントをブラウザ・ページに追加します。

コンテンツ圧縮を無効化します。

コンテンツ圧縮を無効化するには、web.xmlファイルで次のように設定します。

<context-param>
   <param-name>
     org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
   </param-name>
   <param-value>true</param-value>
 </context-param>

元の圧縮されていないスタイルを強制的に使用して、可読性を改善します。

コンテンツ圧縮を無効にしないかぎり、CSSスタイル名とスタイルは圧縮されて表示されるため、読み取りにくいことがあります。コンテンツ圧縮の無効化が読みやすさに及ぼす影響の詳細は、『ADFスキンの開発』のWebアプリケーションへの終了済ADFスキンの適用に関する項を参照してください。

JavaScript圧縮を無効化します。

JavaScript圧縮を無効化するには、web.xmlファイルで次のように設定します。

<context-param>
   <param-name>
     org.apache.myfaces.trinidad.DEBUG_JAVA_SCRIPT
   </param-name>
   <param-value>true</param-value>
 </context-param>

通常は曖昧化されているJavaScriptをソースとして圧縮されない状態で表示できるようにします。

クライアント・サイドのアサートを有効化します。

クライアント・サイドのアサートを有効化するには、web.xmlファイルで次のように設定します。

<context-param>
   <param-name>
     oracle.adf.view.rich.ASSERT_ENABLED
   </param-name>
   <param-value>true</param-value>
 </context-param>

予期しない状態の警告をブラウザ・コンソールに出力できるようにします。

クライアント・サイドのロギングを有効化します。

クライアント・サイドのロギングを有効化するには、web.xmlファイルで次のように設定します。

<context-param>
   <param-name>
     oracle.adf.view.rich.ASSERT_ENABLED
   </param-name>
   <param-value>true</param-value>
 </context-param>

ログ・メッセージをブラウザ・コンソールに出力できるようにします。

クライアント・サイドのロギングを有効にしないかぎり、ログ・メッセージはクライアントに報告されません。

より詳細なサーバー・サイドのロギングを有効化します。

より詳細なサーバー・サイドのロギングを有効化するには、アプリケーション・サーバーをシャットダウンし、次の設定をlogging.xmlファイルに入力して、サーバーを再起動します。

<logger name="oracle.adf.faces" level="CONFIG"/>

または

次のWLSTコマンドを使用します。

setLogLevel(logger="oracle.adf" level="CONFIG", addLogger=1)

または

Oracle Enterprise Manager Fusion Middleware Controlで、構成ページを使用してoracle.adforacle.adfinternalおよびoracle.jboをレベルCONFIGに設定します。

より詳細なログ・メッセージをブラウザ・コンソールに出力できるようにします。

サーバー・サイドのロギングをログ・レベルCONFIGまたはそれ以上で構成しないと、有益な診断メッセージは報告されないことがあります。

使用可能なログ・レベルの設定は、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST、ALLです。CONFIGレベル以上の設定をお薦めします。デフォルトはSEVEREです。

HTTPキャッシュ・ヘッダーを無効化します。

HTTPキャッシュ・ヘッダーを無効化するには、web.xmlファイルで次のように設定します。

<context-param>
   <param-name>
    org.apache.myfaces.trinidad.resource.DEBUG
   </param-name>
   <param-value>true</param-value>
 </context-param>

パッチ適用済リソースのリロードを強制します。

HTTPキャッシュ・ヘッダーが無効化されないかぎり、ブラウザはリソースをキャッシュして、リソースへの高速アクセスを可能にします。

設定を変更した後で、ブラウザのキャッシュをクリアしてリソースのリロードを強制します。


G.3 ADF Facesのテスト自動化の使用

作成したADFアプリケーションのユーザー・インタフェースが、予定どおりのパフォーマンスを発揮することをテストするのは重要です。このようなUIテストの自動化をサポートし、UIテストの実効性と効率を改善して、適用範囲を広げられるツールがあります。

この項では、ADF Facesテスト自動化フレームワークを使用する場合のベスト・プラクティスについて説明します。

G.3.1 ADF Facesのテスト自動化の有効化

テストの自動化を有効にするには、アプリケーション内のweb.xmlファイルのoracle.adf.view.rich.automation.ENABLEDパラメータを設定します。このパラメータは、自動化が使用中であることをADF Facesに通知し、外部コンポーネントのid属性を有効にします。このパラメータで有効化されるのはテスト自動化のインフラストラクチャのみであり、テスト自体は開始されません。テストを開始するには、オープン・ソースのSelenium IDEのようなツールが必要になります。

内部コンポーネントのidに依存する作成したテストでは、常に値があることが保証されます。デメリットは、内部コンポーネントのid値がフレームワークの強化をサポートするためにADF Facesリリース間で変更される可能性があることです。したがって、コンポーネントのidに依存しないようにテストを記述する必要があります。自動化されたテストをより堅牢に作成するために、絶対ロケータの id属性に依存し、これらの属性に値があることを確認します。

oracle.adf.view.rich.automation.ENABLEDパラメータには、次の値を指定できます。

  • OFF: 自動化が無効であることを示します。これは、本番環境に適した設定です。

  • FULL: 自動化が使用中であることをADF Facesに通知し、外部コンポーネントのid属性を有効にします。この設定の使用の際は注意を払い、保護されたテスト環境でのみ使用します。

    注意:

    テスト自動化コンテキスト・パラメータをFULLに設定すると、oracle.adf.view.rich.security.FRAME_BUSTINGコンテキスト・パラメータはneverに設定された場合と同じように動作します。フレームバスティングを無効にした場合のセキュリティの結果として、ユーザーのアプリケーションのページは悪質なWebサイトからのクリックジャックに対して脆弱になります。このため、テスト自動化の使用を開発環境またはステージング環境に限定し、本番環境でテスト自動化を有効にしないでください。詳細は、「フレームバスティング」を参照してください。

  • SAFE: 自動化が使用中であることをADF Facesに通知し、外部コンポーネントのid属性を有効にします。この設定はFULLと同様で、セキュアな情報を処理する方法において次のような違いがあります。

    • フレーム・バストを無効化しません。つまり、oracle.adf.view.rich.security.FRAME_BUSTINGコンテキスト・パラメータは、これがneverに設定された場合と同じように動作しません。

    • JSESSIONIDが暗号化されます。

    • 「バージョン番号情報」で説明するバージョン番号情報は、表示されません。

    • サーバーへのロギングは無効です。

パフォーマンスに関するヒント

テストの自動化を有効化すると、クライアント・コンポーネントがページのすべてのコンポーネントについて作成されます。したがって、本番環境ではこのパラメータをOFFに設定します。

アプリケーションのweb.xmlファイルで定義するoracle.adf.view.rich.automation.ENABLEDコンテキスト・パラメータは、EL結合可能です。たとえば、アプリケーションをテストの自動化モードをプログラム的に設定して、単一のテスト・ユーザー、アプリケーションのすべてのユーザーまたは特定のユーザー・グループで使用します。次の例は、EL式を使用してテストの自動化モードをテスト・ユーザーに設定する方法を示します。

<context-param>
<param-name>oracle.adf.view.rich.automation.ENABLED</param-name>
 <param-value>
   #{securityContext.userName == 'testuser' ? 'SAFE' : 'OFF'}
</param-value>
</context-param>

自動化を有効にしてoracle.adf.view.rich.automation.ENABLEDSAFEまたはFULLに設定すると、応答Cookieが自動的に有効になります。この応答Cookieは、受信する自動化トラフィックをサーバーが制限できる自動化実行から、要求が行われていることを示します。

また、テスト自動化を有効化することによって、実行中のアプリケーションでアサーションが有効になります。使用しているアプリケーションで予想外のコンポーネント動作が発生し、新規アサーションの失敗エラーが表示されるようになったら、アプリケーション・コンポーネントの実装の詳細を調べる必要があります。たとえば、応答のなくなったユーザー・アクションなど、ポップアップ・ダイアログ関連の問題が発見されることは珍しいことではありません。

テスト自動化を有効にした後でのみアサーション失敗エラーを生成する既知のコーディング・エラーが表示されます。

  • ユーザーのコンポーネントでは、もはやページ定義ファイルに存在しないADFイテレータ・バインディングを参照します。アサーションが有効になっていない場合、このエラーは表示されず、存在していないイテレータを参照するコンポーネントはレンダリングしません。

  • ユーザーのコンポーネントは、レンダリングしないように定義されている部分トリガー・コンポーネントです(属性がrendered="false"に設定されています)。たとえば、レンダリングされた属性の使用によってアサーション失敗エラーが発生します。

    <af:button  id="hiddenBtn" rendered="false" text="Test"/>
    <af:table var="row" id="t1"  partialTriggers="::hiddenBtn">
    

    このエラーの回避策として、rendered="false"ではなく、visible="false"に設定された属性を使用します。

  • ユーザーのコンポーネントは、イベントが適切なコンポーネント・ハンドラに到達できないようにするネスト化階層によって構成されています。たとえば、次のネスト化は正しくありません。

    <af:commandLink
        <af:showPopupBehavior
            <af:image
            <af:clientListener
    

    したがって、次のように書き直す必要があります。

    <af:commandLink
        <af:image
           <af:showPopupBehavior
           <af:clientListener
    

注意:

システム管理者は、コマンド行フラグ-Doracle.adf.view.rich.automation.ENABLED= automation-modeを指定してサーバーを起動することにより、スタンドアロンのOracle WebLogic Serverのレベルでテスト自動化を有効にできます。テスト自動化を有効にしてアプリケーション・サーバー・インスタンスでアプリケーションを実行すると、デプロイされたアプリケーションのweb.xmlファイルのコンテキスト・パラメータの設定がオーバーライドされます。

G.3.2 ADF Facesテスト自動化でのマウス・イベントのシミュレーション

テストの自動化では、マウス・イベントをシミュレートして、マウス・イベントをテストすることができます。マウス・イベントをシミュレートするには、テスト・エンジンのマウス・クリック・シミュレートが発生する前に、テスト・シミュレート・マウス・クリックのための環境設定で使用できるテスト・ハーネスを最初に追加します。テスト・ハーネスは、次の関数をコールします。

AdfPage.prototype.simulateMouse = function(locator, mouseEvent)

関数をコールする前に、APIをコールするためのテスト・エンジンを更新する必要があります。

サンプルのAPIを次に示します。

/**
  * Simulate mouse type event using locator.
  * @param {String} locator locator string in the format <scopedId>#<subid>
  * @param {Object} javascript object containing a sparse set of mouse event name value pairs that will
  *                 be used to create a mouse event. Defaults will be used for any missing fields.
  *                 The defaults are as follows:
  *                     type: “click”
  *                     canBubble: true
  *       			 cancelable:true
  *                     view: the current window
  *                     detail: 1
  *                     screenX: 0
  *                     screenY: 0
  *                     clientX: the client location of the X coordinate of the center of the DOM
  *                              element returned by the locator
  *                     clientY: the client location of the Y coordinate of the center of the DOM
  *                              element returned by the locator
  *                     ctrlKey: false
  *                     altKey: false
  *                     shiftKey: false
  *                     metaKey: false
  *                     button: 0
  *                     relatedTarget: null
  *                 If no mouseEvent is provided, a mouseEvent with all of the defaults will be used.
  * @abstract
 */

関数イベントの環境を準備した後、このメソッドは定義するテスト・エンジン・クラス・インスタンスに従います。これにより、テスト・エンジン・クラス・インスタンスは、使用する通常のテスト・エンジンを再び指してマウス・イベントをテストします。そのクラスは、マウス・イベントの起動前と同様に、通常のテスト手順をマウス・イベントで継続します。

新しいテスト・エンジンを作成し、新しい抽象APIクラスのインスタンスに指定します。テスト・エンジンの実装は、このメソッドをオーバーライドする必要があります。

AdfDhtmlTestEngine.prototype.simulateDomMouse = function(domElement, mouseEvent)

作成したばかりのテスト・フレームワーク・マウス・イベント・コードに追加する必要があるAdfDhtmlTestEngineのインスタンスの例を次に示します。

/**
  * Used for testing a custom implementation of AdfDhtmlTestEngine.
 */ 
function CustomTestEngine()
{
} 

// make CustomTestEngine a subclass of AdfDhtmlTestEngine
AdfObject.createSubclass(CustomTestEngine, AdfDhtmlTestEngine);

/**
  * Simulate mouse event on a dom element.
  * @param {String} domElement the domElement receiving the mouse event 
  * @param {Object} javascript object containing a sparse set of mouse event name value pairs.  
  * @Override  
*/ 
CustomTestEngine.prototype.simulateDomMouse = function(domElement, mouseEvent)
{   
// Here, call your custom test framework to actually do the mouse event, now that the environment is all ready for this event. 
}

最後に、ADFで新しいテスト・エンジン・クラスが認識されます。これは、web.xmlパラメータを使用して指定できます。AdfPage.PAGE.simulateMouse()のように、テスト設定コードが正常に機能するために、必要な設定操作の後にテスト・フレームワーク関数を呼出す必要がある場合、これは重要です。

<context-param>
<description>
This parameter specifies the automation test engine that is being used.
</description>
param-name>oracle.adf.view.automation.TEST_ENGINE</param-name>
<param-value>CustomTestEngine</param-value>
     

G.4 一般的な問題の解決

ADFアプリケーション・ユーザー・インタフェースを開発する際に発生する可能性のある一般的な問題があります。問題のリストと原因および可能な修正を見れば、問題の解決に役立ちます。

この項では、一般的な問題と解決策について説明します。

G.4.1 アプリケーションで予期しない白い背景が表示される

ADFアプリケーションは、デフォルト・スキンとして簡単な、または最小限のルック・アンド・フィールを表示します。デフォルト・スキンの背景は白で表示されます。

原因

スキンのJARファイルがすべてのアプリケーションに対して正しくデプロイされているとはかぎりません。

解決策

この問題を解決するには、次のようにします。

  1. スキンのJARファイルがすべてのアプリケーションに対してデプロイされているか確認してください。
  2. 『ADFスキンの開発』の「Webアプリケーションへの終了済ADFスキンの適用」の章の説明に従って、プロファイル・オプションでのスキンのスペルが間違っていないことを確認してください。

G.4.2 アプリケーションに予想されるイメージがない

スキン・アプリケーションは、イメージ・ファイルを含むADFライブラリのJARファイルとしてパッケージ化されている必要があります。

原因

スキンのJARファイルが正しくパッケージ化されていません。

解決策

この問題を解決するには、次のようにします。

  1. スキン・アプリケーションの作成時に正しいターゲット・アプリケーションのバージョンが指定されたか確認してください。
  2. 『ADFスキンの開発』のADFスキンのADFライブラリJARへのパッケージ化に関する項の説明に従って、スキン・アプリケーションを再パッケージ化し、ADFライブラリのJARファイルを新規に作成してください。

G.4.3 ADFスキンが適切にレンダリングしない

作成したADFスキンで定義されたスタイル・プロパティでは、ブラウザで予想どおりにレンダリングされません。

原因

すべてのADFスキン・セレクタがカスタマイズできるとはかぎりません。有効でないセレクタをカスタマイズすると、アプリケーションで予期しない動作や一貫性のない動作が発生する場合があります。

解決策

この問題を解決するには、次のようにします。

  1. コンテキスト初期化パラメータの設定をweb.xmlファイルで確認します。CHECK_FILE_MODIFICATIONパラメータをtrueに設定した場合、ADFスキンに加えたすべての変更がすぐに表示されるわけではありません。アイコンとADFスキンのプロパティに加えた変更を表示するには、Webアプリケーションを再起動する必要があります。
  2. このガイドのADF FacesコンポーネントおよびADFデータ視覚化(DVT)コンポーネントの章のスキニングに関する項に説明されているように、有効なADFスキン、擬似要素および疑似クラスのみをカスタマイズしたことを確認します。

G.4.4 ADFデータ視覚化コンポーネントが予想どおりに表示できない

様々なADFデータ視覚化(DVT)コンポーネントはFlashによって正しく表示されるため、プラットフォームやブラウザでFlashがサポートされていない場合、アプリケーションでDVTコンポーネントの視覚的な要素を表示できない場合があります。

原因

すべてのプラットフォームとブラウザでFlashがサポートされているわけではありません。このため、アプリケーションは使用可能な最善のフォールバックに強制的にダウングレードされます。プラットフォームがサポートされていない場合、アプリケーションでは、adf-config.xmlファイルのflash-player-usageの設定に従って表示されます。

解決策

この問題を解決するには、ブラウザに使用可能な最新のFlashバージョンを再インストールしてください。

G.4.5 高可用性アプリケーションでNotSerializableExceptionが表示される

クラスタ環境で実行するアプリケーションを設計している場合は、1つのリクエストよりも長い寿命のマネージドBeanがすべてシリアライズ可能であることを確認する必要があります。

原因

Fusion Webアプリケーションをクラスタ環境で実行する場合は、アプリケーションの状態の一部がシリアル化され、各リクエストの終わりに別のサーバーまたはデータ・ストアにコピーされるため、クラスタ内の他のサーバーがこの状態を利用できるようになります。具体的には、セッション・スコープ、ページ・フロー・スコープおよびビュー・スコープに格納されているBeanは、シリアライズ可能である必要があります(これらのBeanはjava.io.Serializableインタフェースを実装しています)。

解決策

この問題を解決するには、次のようにします。

  1. サーバーのチェックを有効にして、セッション属性でシリアライズ不能な状態コンテンツが検出されないようにします。このチェックは、デフォルトでは、実行時のオーバーヘッドを軽減するために無効になっています。シリアライズ・チェックは、システム・プロパティorg.apache.myfaces.trinidad.CHECK_STATE_SERIALIZATIONによってサポートされます。次に示すシステム・プロパティは、アプリケーション・サーバーの起動時に指定する必要があります。
  2. 高可用性をテストするには、まず次のシステム・プロパティを使用してアプリケーション・サーバーを起動し、セッションおよびJSFの状態がシリアライズ可能であることを確認します。

    -Dorg.apache.myfaces.trinidad.CHECK_STATE_SERIALIZATION=session,tree

  3. 次のようにbeansオプションを追加して、該当するマップのシリアライズ可能なオブジェクトのシリアライズされたコンテンツがリクエスト中に変更された場合に、そのオブジェクトがダーティとマークされたことをチェックします。

    -Dorg.apache.myfaces.trinidad.CHECK_STATE_SERIALIZATION=session,tree,beans

  4. JSFの状態がシリアライズ不能であることが検出された場合は、次のシステム・プロパティを使用してアプリケーション・サーバーを再起動し、コンポーネントとプロパティのフラグを有効にしてからテストを再実行します。

    -Dorg.apache.myfaces.trinidad.CHECK_STATE_SERIALIZATION=all

G.4.6 すべてのWebブラウザで問題を再現できない

アプリケーションをMicrosoft Windows Internet Explorerで実行して問題を検証していますが、Mozilla Firefoxでアプリケーションを実行するときに、問題が再現されません。このような問題は視覚的な性質ものであることが多く、たとえば、Webページで領域を区切る余分の空白が意図せずに表示されることがあります。

原因

設定はブラウザ間で異なるため、アプリケーションの表示方法に違いが生じることがあります。

解決策

この問題を解決するには、次のようにします。

  1. ブラウザのセキュリティ設定をチェックして、構成が間違っていないことを確認してください。たとえば、JavaScript、XML HTTPまたはポップアップを無効にしていないことを確認してください。
  2. Internet Explorerが互換性モードで実行していないことを確認してください。「現在の互換性の設定はサポートされていません」というダイアログが表示された場合は、ブラウザの「ツール」メニューで互換性モードを無効にしてください。
  3. JavaScriptエラーが表示される場合は、ブラウザの不具合の可能性が高いです。ただし、ADF Faces固有のJavaScriptエラーであることも考えられます。
  4. オプションで、アプリケーションのADFスキンに@agent@ルールを構成して、必要なブラウザに固有の外観を定義します。詳細は、『ADFスキンの開発』の「@ルールの使用」の章を参照してください。

G.4.7 アプリケーションにコンテンツがない

アプリケーション・ページで、コンテンツが予想されている領域が空で表示されることがあります。

原因

この原因は、アプリケーションの設計によって異なります。たとえば、アプリケーションで実施している権限により、アプリケーションでのコンテンツの表示が無意識に妨害されていることがあります。または、ポートレットを使用しているとき、ポートレット・サーバーがダウンしている可能性もあります。

解決策

この問題を解決するには、次のようにします。

  1. 例外がないかログ・ファイルをチェックしてください。ログ・レベルをSEVEREより低いレベルに変更することをお薦めします。Oracle Fusion Middlewareのロギング機能の詳細は、『Oracle Fusion Middlewareの管理』の「ログ・ファイルと診断データの管理」の章を参照してください。
  2. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのサーバー・パフォーマンスのモニターに関する項の説明に従って、スタック・スレッドを検索してください。スタック・スレッドが見つかった場合は、スレッド・スタック・ダンプを調べてください。
  3. 部分ページ・レンダリング(PPR)でHTTP 403または404エラーが見られる場合は、不具合の可能性が高いです。

G.4.8 ブラウザでADF_Faces-60098エラーが表示される

アプリケーションから予期しない場所でランタイム例外が返され、これは処理されません。

原因

ADF Facesはライフサイクルのあるフェーズで未処理の例外を受け取り、リクエスト処理を中止します。

解決策

この問題を解決するには、次のようにします。

  1. これは、アプリケーションのロジック・エラーの可能性が高いです。
  2. サーバー・ロードとアプリケーションが不適切な状態でないことを確認してください。

G.4.9 ブラウザでHTTP 404または500のエラーが表示される

アプリケーションは予期されるページに移動せず、HTTP 404のファイルが見つからないエラー、またはHTTP 500の内部サーバー・エラーが表示されます。

原因

この原因は、アプリケーション・サーバーまでトレースできる場合があります。

解決策

この問題を解決するには、次のようにします。

  1. Oracle WebLogic Server管理コンソール・オンライン・ヘルプでサーバー・パフォーマンスのモニターに関する項およびサーバーの構成のオーバーロードに関する項の説明に従って、アプリケーション・サーバーが実行中であり、アプリケーションが不適切な状態ではないことを確認してください。
  2. ハング・スレッドがないかチェックします。

G.4.10 ブラウザでページ間の移動ができない

アプリケーションでは、予期しているターゲットWebページへ移動して、そのページを開くことができません。

原因

この原因はアプリケーションの設計によって異なったり、アプリケーション・サーバーまでトレースできる場合があります。

解決策

この問題を解決するには、次のようにします。

  1. 「ブラウザでADF_Faces-60098エラーが表示される」の説明に従って、ADF Facesのライフサイクル・スレッドに固有の未処理例外がないかチェックしてください。
  2. 「ブラウザでHTTP 404または500のエラーが表示される」の説明に従って、HTTP 404または505のエラーを検索してください。

G.5 My Oracle Supportを使用してその他のトラブルシューティング情報を得る

My Oracle Supportは、Oracle公式の電子的なオンライン・サポート・サービスです。サービス・リクエストを記録すれば、Oracle ADF固有の問題解決に際して、個別に事前の共同サポートを受けることができます。

Oracle Fusion Middlewareの問題の解決にMy Oracle Support (以前のMetaLink)を使用できます。My Oracle Supportには、次のような有用なトラブルシューティング・リソースが含まれています。

  • ナレッジ・ベース記事

  • コミュニティ・フォーラムとディスカッション

  • パッチとアップグレード

  • 動作保証情報

注意:

My Oracle Supportを使用してサービス・リクエストを記録することもできます。

My Oracle Supportには、https://support.oracle.comからアクセスできます。