ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド
11gリリース1(11.1.1.6.0)
B66694-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

C 統合Excelワークブックのトラブルシューティング

この付録では、統合Excelワークブックのトラブルシューティング、および開発中の問題発生時にログ・ファイルを生成する方法について説明します。また、発生する可能性がある様々なエラーや問題(バージョンの不一致、404エラー、統合ExcelワークブックでOracle ADFタブが表示されないなど)について、可能な解決策を示します。

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


注意:

プロパティ・インスペクタでは、プロパティまたはプロパティの組合せに対して入力した値の有効性は検証されません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。プロパティ・インスペクタの詳細は、5.6項「プロパティ・インスペクタの使用」を参照してください。

C.1 Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証

特定のURLを使用して、Fusion WebアプリケーションによってADFデスクトップ統合のリモート・サーブレット(adfdiRemote)が実行されていること、およびADFデスクトップ統合のバージョンを確認できます。この情報は、統合Excelワークブックでエラーが発生した場合に役立ちます。たとえば、統合Excelワークブックのトラブルシューティングを行う際に、ADFデスクトップ統合のリモート・サーブレットが稼働しているかどうかを判断できます。

ADFデスクトップ統合のリモート・サーブレットが稼働していることを検証する手順:

  1. Fusion Webアプリケーションにログオンします。

  2. Webブラウザのアドレス・バーに、ワークブックのプロパティWebAppRootおよびRemoteServletPathを連結した値を入力します。これは、次のようなURLに相当します。

    http://hostname:7101/FusionApp/adfdiRemoteServlet

    ADFデスクトップ統合のリモート・サーブレットが稼働している場合、Webページが元に戻って次のようなメッセージが表示されます。

    ADF Desktop Integration Remote Servlet 11g (11.1.1.48.86) [520]
    Response from oracle.adf.desktopintegration.servlet.DIRemoteServlet: OK.
    

C.2 統合Excelワークブックのエンド・ユーザー認証の検証

統合Excelワークブックのエンド・ユーザーが、ADFのセキュリティを使用して構成されているFusion Webアプリケーションと相互作用するアクションを起動する際にユーザー認証を要求されない場合、統合ExcelワークブックまたはFusion Webアプリケーションのどちらかでセキュリティが正しく構成されていない可能性があります。セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されること、およびセキュリティが有効であることを、次の手順を実行して検証できます。

セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されることを検証する手順:

Webブラウザのアドレス・バーに、ワークブックのプロパティWebAppRootの値を入力します。これは、次のようなURLに相当します。

http://hostname:7101/FusionApp/adfdiRemoteServlet

Fusion Webアプリケーションのセキュリティが有効である場合は、ユーザー資格証明を入力するよう求められます。

統合Excelワークブックの保護の詳細は、第11章「統合Excelワークブックの安全確保」を参照してください。

C.3 統合Excelワークブックのログ・ファイルの生成

ADFデスクトップ統合では、ログ・ファイルを生成して、次のソフトウェアによってADFデスクトップ統合内でトリガーされるイベントに基づいて情報を取得できます。

C.3.1 サーバー・サイド・ロギングの概要

ADFデスクトップ統合のサーバー・サイド・ログ・ファイルの生成は、他のOracle ADFモジュールの場合と同じように構成します。構成するには、j2ee-logging.xmlという構成ファイルで冗長レベルと出力場所を指定する値を設定する必要があります。また、JDeveloperのOracle Diagnostics Logging構成を使用して、logging.xmlファイルで指定されるロギング・レベルを構成することもできます。JDeveloperのデバッグ・ツールおよびADFログ出力の使用の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFログ出力の使用に関する項を参照してください。

表C-1に、ADFデスクトップ統合のログ・ファイルの生成を構成するために、j2ee-logging.xmlファイルの<logger>要素に属性パラメータとして指定するパッケージ名を示します。

表C-1 ログ・ファイルを構成するためのパッケージの名前

ログ・ファイル・エントリを生成するコンポーネント 入力するパッケージ名

すべてのADFデスクトップ統合サーバー・ロジック

oracle.adf.desktopintegration

ADFデスクトップ統合のリモート・サーブレット

oracle.adf.desktopintegration.servlet

ADFデスクトップ統合のHTTPフィルタ

oracle.adf.desktopintegration.filter


表C-2に、ログ・ファイルで取得する情報のタイプと、対応するログ・ファイルのエントリ・レベルを示します。

表C-2 サーバー・サイド・ロギングのレベル

ログ・レベル 説明

SEVERE (ERROR)

すべての例外とエラーを取得します。

WARNING

リカバリ不能な問題の状況をすべて取得します。

INFOまたはCONFIG

サーブレットの初期化などのライフ・サイクル・イベントを取得します。

CONFIG

クライアントとサーバーの各やりとりについて、ステータスや実行コンテキストを返すハートビート・イベントを取得します。

FINE

FINER

FINEST

これらの値では診断情報のレベルが段階的に高くなります。


C.3.2 クライアント・サイド・ロギングの概要

ADFデスクトップ統合を構成して、トリガーされるイベントのログをクライアントで保存できます。デフォルトでは、ログ・ファイルは生成されません。ログを保存するためのOracle ADFデスクトップ統合モジュールの構成方法は、C.3.2.1項「ログを保存するためのADFデスクトップ統合の構成方法」を参照してください。

C.3.2.1 ログを保存するためのADFデスクトップ統合の構成方法

ADFデスクトップ統合には、イベント・ログを生成し、ログに簡単にアクセスするためのロギング・ツールが用意されています。このロギング・ツールは、「Oracle ADF」タブの「ロギング」グループに含まれており、設計モードとテスト・モードの両方で使用できます。

図C-1に、「Oracle ADF」タブのロギング・ツールを示します。

図C-1 「Oracle ADF」タブのロギング・ツール

「Oracle ADF」タブの「ロギング」グループ

「ロギング」グループには次のボタンがあります。

  • コンソール

    統合Excelワークブックを開発およびテストしながら最新のログ・エントリを確認できる、ADFdiロギング・コンソール・ウィンドウを表示します。コンソールには、コンソールが開いている間に記録されたエントリが表示されます。図C-2に示すADFdiロギング・コンソール・ウィンドウには、情報およびエラーのログ・エントリが表示されています。

    このコンソールは、サイズ変更が可能でバッファ・サイズが64,000文字の非モーダル・ウィンドウです。バッファがいっぱいになると、古いエントリは削除されます。テキスト・ファイルにコピーすると、ログ・エントリを保存できます。

    図C-2 ADFdiロギング・コンソール・ウィンドウ

    ADFdiロギング・コンソール・ウィンドウ

    このダイアログには次のボタンがあります。

    • レベルの設定: ログ出力のレベルを設定する場合にクリックします。目的のログ出力レベルを選択できる、ロギング出力レベル・ダイアログが開きます。

    • クリア: ログ・バッファをクリアする場合にクリックします。

    • 閉じる: ダイアログを閉じる場合にクリックします。


    注意:

    一般的なADFdiロギング・コンソール・ウィンドウでは、開いているすべての統合Excelワークブックのエントリが記録されます。

  • 出力レベルの設定

    ログ出力のレベルを選択するよう求められます。表C-3に、クライアント・サイド・ロギングがサポートするログ・レベルを示します。

    図C-3 ロギング出力レベル・ダイアログ

    ロギング出力レベル・ダイアログ・ボックス

    表C-3 クライアント・サイド・ロギングのレベル

    レベル 説明

    Critical

    クリティカルな情報を取得します。

    Error

    重度のエラーと例外に関する情報を取得します。

    Warning

    リカバリ不能な状況を取得します。

    Information

    ライフ・サイクル・イベントとコントロール・フロー・イベントを取得します。

    Verbose

    アプリケーションの実行フローに関する詳細を取得します。

    Off

    ログは取得されません。これがデフォルト値です。



    注意:

    ログの出力レベルは、指定されたログ出力のすべてのリスナーに適用されます。

  • ログ出力ファイルの追加

    指定のファイルまたは形式にロギング出力を送るための、一時ロギング・リスナーを作成します。新規一時ロギング出力ファイルの追加ダイアログで、目的のファイル出力形式(テキストまたはXML)を選択し、ログ出力ファイルのパスとファイル名を指定します。

    図C-4 新規一時ロギング出力ファイルの追加ダイアログ

    新規一時ロギング出力ファイルの追加ダイアログ・ボックス

    一時リスナーは、現在のExcelセッションのロギング出力のみを送り、ADFデスクトップ統合の構成ファイルには登録されません。統合Excelワークブックを閉じると、一時リスナーは削除されます。


    注意:

    ログ出力ファイルの追加ボタンをクリックすると、新しいリスナーが作成されます。新しいリスナーによって、ADFデスクトップ統合の構成ファイルで定義された既存のリスナー、または他の一時リスナーは置換されません。

  • 構成のリフレッシュ

    ADFデスクトップ統合の構成ファイルを再ロードします。ADFデスクトップ統合の構成ファイルによって、ADFデスクトップ統合で記録される情報のタイプが決まります。また、ログ・ファイルの場所および出力形式も決まります。

    ADFデスクトップ統合の構成ファイルの作成および構成の詳細は、C.3.2.2項「ADFデスクトップ統合の構成ファイルについて」を参照してください。

C.3.2.2 ADFデスクトップ統合の構成ファイルについて

ADFデスクトップ統合の構成ファイルは、デザイナ・エディションの場合はadfdi-excel-addin.dll.config、ランタイム・エディションの場合はadfdi-excel-addin-runtime.dll.configとして保存されます。ファイルの正しい名前および場所を調べるには、「Oracle ADF」タブの「ワークブック」グループにある「バージョン情報」ボタンをクリックします。表示されるダイアログで「プロパティ」タブをクリックし、「構成」エントリで構成ファイルのファイル名および場所を調べます。

構成ファイルの要素の詳細は、Microsoft Developer Networkのドキュメントの「Configuration File Schema for the .NET Framework」の項を参照してください。トレースおよびデバッグの設定の詳細は、Microsoft Developer Networkのドキュメントの「Trace and Debug Settings Schema」の項を参照してください。

クライアント・サイド・ロギングの有効な構成方法は多数ありますが、例C-1に示す構成ファイルのサンプルはその1つで、形式の異なる(.txtおよび.xml)2つのログ・ファイルが生成されます。このファイルでは、様々な情報(ThreadIdProcessIdおよびDateTimeなど)がVerboseロギング・レベルで取得されます。

例C-1 構成ファイルのサンプル

<?xml version="1.0"?>
<configuration>
  <system.diagnostics>
    <sources>
      <source name="adfdi-common" switchValue="Verbose">
        <listeners>
          <add type="System.Diagnostics.DelimitedListTraceListener"
            name="adfdi-common-excel.txt"
            initializeData="c:\logs\adfdi-common-excel.txt"
            delimiter="|"
            traceOutputOptions="ThreadId, ProcessId, DateTime"/>
          <add type="System.Diagnostics.XmlWriterTraceListener"
            name="adfdi-common-excel.xml"
            initializeData="c:\logs\adfdi-common-excel.xml"
            traceOutputOptions="None"/>
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
</configuration>

C.3.2.3 ユーザー環境変数を使用したロギングの構成方法

ADFデスクトップ統合の構成ファイルを格納するディレクトリにアクセスできないユーザーは、ユーザー環境変数の値を設定してログ・ファイルの保存場所とロギング・レベルを変更できます。ロギング・レベルとXMLログ・ファイルの場所を構成するための、2つのユーザー環境変数を追加できます。

Windowsでユーザー環境変数を追加または構成する手順:

  1. Windowsの「スタート」ボタンをクリックして、「設定」「コントロール パネル」をクリックします。

  2. 「コントロール パネル」で「システム」をダブルクリックします。

  3. 「システムのプロパティ」ダイアログで「詳細設定」タブ→「環境変数」ボタンをクリックします。

  4. 「環境変数」ダイアログで「usernameのユーザー環境変数 」入力フィールドの下方にある「新規」をクリックし、次の表の説明に従って変数を追加します。

    表C-4 ロギングを構成するためのユーザー環境変数

    入力する変数の名前 指定する値

    adfdi-common-file

    ロギング情報を取得するXMLファイルのディレクトリ・パスおよびファイル名を定義する値。

    ここで指定するディレクトリは、adfdi-common-file変数を追加する前に存在している必要があります。生成されるログ・ファイルはXML形式です。

    adfdi-common-level

    ロギングのレベルを指定する値。有効な値は表C-3を参照してください。


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

C.3.2.4 adfdi-commonオブジェクトに関する留意事項

adfdi-commonオブジェクトは、Microsoft .NET FrameworkのSystem.Diagnostics名前空間のTraceSourceクラスのインスタンスです。このオブジェクトを使用してログ・ファイルを生成すると、Fusion Webアプリケーションと統合するExcelワークブックでトリガーされるイベントの情報を取得できます。

TraceSourceクラスの詳細は、Microsoft Developer Networkのドキュメントを参照してください。

C.4 Excelワークブックのメタデータのエクスポート

ExcelワークブックのXMLメタデータは、名前と場所を指定したXMLファイルにエクスポートできます。このファイルは、Fusion Webアプリケーションに統合されるExcelワークブックのデバッグまたは分析が必要な場合に役立ちます。このファイルには、ワークブックの各ワークシートの子要素や、リモート・サーブレットの相対パスなどのリソースが含まれます。

次の手順では、ExcelワークブックからのXMLメタデータのエクスポートについて説明します。

統合ExcelワークブックからXMLメタデータをエクスポートする手順:

  1. 「Oracle ADF」タブの「バージョン情報」をクリックします。

    「Oracle ADF 11gデスクトップ統合について」ダイアログ・ボックスが表示されます。

  2. 「プロパティ」ビュー・タブをクリックして、「メタデータのエクスポート」ボタンをクリックします。

    エクスポートするメタデータを保存するファイルのファイル名と場所の指定を求めるダイアログ・ボックスが表示されます。

  3. ファイル名と場所を指定して、「保存」をクリックします。

    統合Excelワークブックは、指定したファイルに指定のフォーマットでメタデータをエクスポートします。

C.5 ADFデスクトップ統合の一般的な問題

この項では、最も一般的な問題およびその解決策について説明します。

エラー・メッセージ: [ADFDI-00127] SyncServletResponseにバージョンの不一致が検出されました。バージョンxが見つかりましたが、バージョンyが必要です。
原因: クライアントのADFデスクトップ統合のバージョンがWebアプリケーションのADFデスクトップ統合のバージョンと一致していません。
処置: クライアントのADFデスクトップ統合をアンインストールして、Webアプリケーションと同じバージョンのADFデスクトップ統合をインストールします。ADFデスクトップ統合クライアントのインストールの詳細は、3.5項「ADFデスクトップ統合のインストール」を参照してください。
エラー・メッセージ: 404エラー - サーブレットが見つかりません
原因: web.xmlデプロイメント・ディスクリプタの設定がWorkbook.RemoteServletPathプロパティの値と同期していません。
処置: 「ワークブック・プロパティ」エディタを開いてWorkbook.RemoteServletPathプロパティの値を確認します。
エラー・メッセージ: キャッチされない例外が、リフレクション経由で呼び出されたメソッドによりスローされました。(HRESULTからの例外: 0x80131604)
原因: Microsoft .NETプログラミング・サポートが有効化されていません。
処置: Microsoft .NETプログラミング・サポートを有効化します。詳細は、3.3項「Microsoft .NETプログラミング・サポートの有効化」を参照してください。
問題: ADFデスクトップ統合のインストール後、統合Excelワークブックに「Oracle ADF」タブが表示されません。
原因: ADFデスクトップ統合のアドインがExcelで有効化されていません。
処置: 「Excelのオプション」ダイアログでADFデスクトップ統合のアドインを有効化します。ExcelでMicrosoft Officeボタンをクリックし、「Excelのオプション」をクリックすると「Excel のオプション」ダイアログが開きます。「アドイン」タブで「管理」ドロップダウン・リストを開き、「COMアドイン」を選択して「設定」をクリックします。「COMアドイン」ダイアログで「Oracle ADF 11g Desktop Integration Add-in for Excel」チェック・ボックスを選択して「OK」をクリックします。