ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Portal開発者ガイド
11gリリース1 (11.1.1)
B61384-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

B ポートレットおよびプロバイダのトラブルシューティング

この付録には、Oracle Portalの使用中に発生する可能性のある代表的な問題と、その解決方法を記載します。内容は、次のとおりです。


注意:

この章全体にわたって、ORACLE_HOMEへの参照が記載されています。ORACLE_HOMEはOracleホームのフルパスを表し、どのOracleホームが参照されているかが自明な場合に使用されます。プロシージャで中間層、OracleAS Infrastructure、またはOracle Metadata Repositoryの各Oracleホームを区別する必要がある場合は、次の表記規則が使用されます。

  • MW_HOME: Oracle Fusion Middlewareホームのフルパスを表します。

  • ORACLE_HOME: 中間層のOracleホームのフルパスを表します。

  • ORACLE_INSTANCE: ORACLE_HOMEと関連付けられたインスタンス・ホームのフルパスを表します。

  • INFRA_ORACLE_HOME: Oracle Application Server InfrastructureのOracleホームのフルパスを表します。

  • METADATA_REP_ORACLE_HOME: Oracle Metadata Repositoryを含んだOracle Infrastructureホームのフルパスを表します。


B.1 一般的なポートレットの問題

この項では、すべてのポートレットに共通する問題と解決方法を記載します。内容は、次のとおりです。

B.1.1 ポートレットのリフレッシュ障害

JavaScript document.write()メソッドをMozillaブラウザで使用すると、ポートレットのリフレッシュが機能しないことがあります。

問題

FirefoxなどのMozillaブラウザを使用する場合、document.write()メソッドを使用するとポートレットのリフレッシュが適正に機能しなくなります。

解決方法

Firefoxでポートレットのリフレッシュを機能させるには、出力でdocument.write()を使用しないでください。使用せざるを得ない場合は、レンダリングでポートレットに「リフレッシュ」アイコンおよび「リストア」アイコンを表示させないようにしてください。また、ポートレットのリフレッシュをオフにし、リージョン・レベルでリストアすることもできます。

B.1.2 ポートレットにHTMLタグが表示される

以前のリリースから11g リリース1 (11.1.1)にアップブレードすると、書式に変換されなかったHTMLがポートレット・タイトルなどポートレット内に表示されることがあります。

問題

ポートレットを表示すると、HTMLの生タグが表示されます。たとえば、次がポートレット・タイトル内に表示されたとします。

<b>Oracle Application Server 10<i>g</i> Collateral</b>

これは、次のように表示されるように予期していたものです。

Oracle Application Server 10g Collateral

クロス・サイト・スクリプティング(XSS)攻撃に対して防衛するため、Oracle Portalリリース10.1.4ではデフォルトですべてのユーザー入力をエスケープ処理します。このように、旧リリースのフォーマット内にあるHTMLタグには、プレーン・テキストにエスケープ処理されるため、このリリースでは書式に変換されないものがあります。

解決方法

この問題は次の2つの方法で解決できます。

  • HTMLタグの入力を禁止し、プレーン・テキストのみを入力するようにユーザーに通知します。

  • 互換性モードをオンにして、Oracle Portalインスタンスをリリース10.1.4より前のリリースと同じように動作させます。つまり、HTMLをプレーン・テキストにエスケープ処理するデフォルトの機能を停止します。互換性モードをオンにするとポータル・インスタンスのセキュリティが低下しますので、注意してください。

これらのオプションの詳細は、『Oracle Fusion Middleware Oracle Portal, Forms, ReportsおよびDiscovererアップグレード・ガイド』を参照してください。

B.2 Javaポートレットの問題

この項では、Javaポートレットに共通する問題と解決方法を記載します。内容は、次のとおりです。

B.2.1 ポートレットのロギング

この付録の他の項で説明されている問題以外にポートレットの問題が発生した場合には、次の一般的なテクニックを使用して問題を解決してください。

問題1

ポータル・ページにアクセスした際に、ポートレットが表示されないか、またはエラー・メッセージが表示されます。

解決方法1

診断ログ・ファイルをチェックしてエラーを探します。

Oracle Portalの場合:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL-diagnostic.log

カスタムWebプロバイダの場合:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL-diagnostic.log

問題2

問題解決の手がかりとなる情報がログ・ファイルに記録されません。

解決方法2

プロバイダのログ・レベルを上げてさらに詳細なログ情報を作成します。このためには、web.xmlファイルに次のエントリを追加します。

<env-entry>
  <env-entry-name>oracle/portal/provider/global/log/logLevel</env-entry-name>
  <env-entry-value>6</env-entry-value>
  <env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>

B.2.2 インストールとデプロイの問題

この項では、PDK-Javaフレームワークおよびサンプルをインストールおよびデプロイするときに発生する可能性のある問題を記載します。

B.2.2.1 Javaクラス・オブジェクトが見つからない

Javaクラスが存在しないというエラー・メッセージが表示される場合です。例:

An unexpected error occurred-29540 : class
  oracle/webdb/provider/web/HttpProviderDispatcher does not exist (WWC-43000)

問題

参照されているJavaクラス・オブジェクトがデータベースにないか、または無効です。PDK-JavaではなくOracle Portalが、クラスを実行できないときにこのエラー・メッセージを生成します。

解決方法

メインのOracle Portalスキーマでこのデータベースにログインします。SELECT文を実行して、オブジェクトがスキーマ内にあるかどうかを確認します。例:

SELECT object_name, object_type, status FROM user_objects 
  WHERE object_name like '%HttpProvider%'

引用符の間の名前は大/小文字を区別することに注意してください。

次のメッセージが返されます。

/3334f18_HttpProviderDispatcher

無効かまたは存在していないJAVA CLASSオブジェクトがないかどうかを確認します。Oracle Portalが正しくインストールされていないことがあるためです。その場合は、無効なオブジェクトを再コンパイルすると、問題が解決することがあります。

B.2.2.2 template.earファイルをデプロイできない

template.earをベースとしたEARファイルをデプロイするときに、次のエラー・メッセージが表示される場合です。

Invalid J2EE application file specified - Base Exception:
Cannot get xml document by parsing WEB-INF/web.xml in template.war: <Line 88, 
Column 14> : '--' is not allowed in comments.
Resolution: 

問題

web.xmlファイルには構文エラーがあります。

解決方法

web.xmlの構文が正しいかどうかを確認します。template.warに付属するweb.xmlの一部のバージョンでは、コメント・タグの位置に誤りがあります。新しいコメント・タグを開始する前に、コメント開始タグ<!--にすべて、対応するコメント終了タグ-->があるかどうかを確認します。

B.2.2.3 プロバイダ登録時のエラー

プロバイダを登録するときに、多数のエラーが発生する可能性があります。この項では、エラーの原因とその修正方法を説明します。自分の問題に関連した説明がこのセクションにない場合は、プロバイダのapplication.logを確認します。それでも解決できない場合は、Portalリポジトリ・ログのlogcfg.sqlを使用します。logcfg.sqlおよびapplication.logの詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。

問題1

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

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)

OracleAS Portalは、プロバイダを登録する際に、Webポートレットにサービスを提供するリスナーに接続する必要があります。インストール手順に従ってプロバイダのテスト・ページhttp://host.domain:port/context/providers/servicenameにすでにアクセスしている場合は、Oracle Portalがマシンを認識しないことがあります。

解決方法1

Oracle Portalが存在するマシンが、Webプロバイダ・リスナーにアクセスできるかどうかを確認します。この設定を最も簡単にテストできる方法は、Oracle Portalリポジトリ・データベースのホスト上でブラウザを起動し、プロバイダのテスト・ページにアクセスしてみることです。プロバイダにアクセスするためにブラウザにプロキシ設定が必要な場合は、「管理」タブでOracle Portalと同じプロキシを設定する必要があります。また、プロバイダの登録時にこのプロキシを使用する必要があります。

Webプロバイダ・サーバーがDNSに登録されていない場合は、Oracle Portalサーバーのホスト・ファイルにエントリを追加します。

Oracle Portalデータベースのマシンとプロバイダのマシンの間にファイアウォールがある場合は、必要なポートが開いているかどうかを確認します。

問題2

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

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Can't read
deployment properties for service: _default (WWC-43147)

プロバイダを登録する際に、サービスIDを指定することもできます。「サービスID」フィールドに何も指定しない場合は、登録URLにはサービス名の部分が含まれず、http://host.domain:port/context/providers/のようになります。そのため、Oracle Portalは、_default.propertiesというデプロイ・ファイル内からデフォルトのサービスを検索しようとします。このファイルが見つからないときに、前述のエラー・メッセージが表示されるのです。

解決方法2

_default.propertiesというファイルをWARファイル内(次のパス)にバンドルします。

/Web-inf/deployment/

_default.propertiesファイルでは、プロバイダにサービスが指定されていない場合に使用できるデフォルトのサービスを定義する必要があります。ファイルは、次のような内容となる必要があります。

serviceClass=oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter
loaderClass=oracle.portal.provider.v2.http.DefaultProviderLoader
showTestPage=true
definition=providers/test/provider.xml
autoReload=true
testPageURI=/htdocs/testpage/TestPage.jsp

問題3

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

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Can't read
deployment properties for service: test (WWC-43147)

Oracle Portalが、「サービスID」フィールドまたは登録URLのhttp://host.domain:port/context/providers/servicenameのサービス名の部分で指定されたサービスのデプロイ・プロパティ・ファイルを見つけられません。たとえば、次のURLを使用してプロバイダを登録しようとしたときに、このエラー・メッセージを受け取ったとします。

http://host.domain:port/context/providers/test

この場合、WARファイル内(/Web-inf/deployment/)にtest.propertiesというファイルがない可能性があります。

解決方法3

デプロイ・プロパティ・ファイル(たとえば、test.properties)をWARファイル内(次のパス)にバンドルします。

/Web-inf/deployment/

ファイルは、次のような内容となる必要があります。

serviceClass=oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter
loaderClass=oracle.portal.provider.v2.http.DefaultProviderLoader
showTestPage=true
definition=providers/test/provider.xml
autoReload=true
testPageURI=/htdocs/testpage/TestPage.jsp

問題4

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

An error occurred when attempting to call the providers register function.
(WWC-43134)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Class
oracle.portal.provider.v2.render.RenderManager has no set or add method for tag
"createdOn" (WWC-43147)

解決方法4

DefaultProviderを使用している場合は、provider.xmlには要素<createdOn>が含まれます。初期化プロセスでは、XMLを解析するとき、メソッドを含む側の要素である当該のクラスからsetCreatedOnというメソッドを探します。例:

<renderer class="my.local.Renderer"> 
<createdOn>12-Mar-2001</createdOn> 
... 
</renderer> 

この例では、初期化プロセスではmy.local.Renderer.setCreatedOn()を探します。今回のケースでは、このメソッドが存在せず、このエラーとなりました。

問題5

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

(WWC-00006)
An unexpected error occurred: User-Defined Exception
(WWC-43000)
wwpro_api_provider_registry.register_provider
An unexpected error occurred: ava.sql.SQLException: Inserted value too large for column:

このエラーは、ポートレットのデータが制限を超過したことを示しています。各ポートレットのデータは4Kに制限されています。次の情報の合計長が、このデータ制限超過の原因です。

  • プロバイダ名、表示名、説明

  • パラメータ名、表示名、説明

  • イベント名、表示名、説明

解決方法5

ポートレットで使用されるデータ量を削減するには、次のいずれかを行います。

  • ポートレットのパラメータ名、イベント名、表示名、説明の長さを短くします。

  • ポートレットのパラメータとイベントの数を減らします。

B.2.2.4 ポートレットをプロバイダに追加するときのエラー

ポートレットをプロバイダに追加したが、Oracle Portalでプロバイダを表示したときにその新しいポートレットが表示されません。

問題

問題の原因はprovider.xmlの構文エラーにある場合が最も多いですが、更新されたprovider.xmlファイルがなんらかの理由により見つからないことが原因の場合もあります。

解決方法

次の方法を試してみてください。

  • provider.xmlを調べます。プロバイダ・タグ内で構文上正しく、ポートレットの開始タグと終了タグがペアで記述されているかどうかを確認します。例:

    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition"
       session="true">
      <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition"
        version="1">
        <id>1</id>
        ...
      </portlet>
      <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition" 
        version= "1">
        <id>2</id>
        ...
      </portlet>
    </provider>
    
  • テスト・ページでエラーを確認します。エラーが見つからなければ、プロバイダをリフレッシュします。

  • プロバイダのapplication.logでエラーを確認します。

B.2.2.5 ポートレットが存在しない

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

Error: The listener returned the following Message: 500 Portlet with id $1 doesn't
 exist

問題

初めにページからポートレットを削除しないで、provider.xmlからポートレットを削除しました。ポートレットは、「カスタマイズ」ページに表示されなくなるため、ページから削除できません。

解決方法

ポートレットが含まれるリージョンを削除します。provider.xmlからポートレットを削除するときは、最初にページから削除することを覚えておいてください。

B.2.2.6 ファイルが見つからない

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

Request URI:/jpdk/snoop/snoopcustom.jsp Exception: javax.servlet.ServletException:
java.io.FileNotFoundException:
C:\iAS\Apache\Apache\htdocs\jpdk\snoop\snoopcustom.jsp (The system cannot find the
path specified)

問題

JSPポートレットはページに追加できています。しかし、Oracle Portalは、provider.xmlからファイル・システム内のJSPを見つけられません。

解決方法

ファイルの名前と場所、およびprovider.xml内の情報を確認します。

B.2.2.7 XMLパーサー・エラー

XMLパーサーでは、provider.xmlの解析に失敗することがあります。この項では、エラーの原因とその修正方法を説明します。

問題1

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

Error: The XML parser encountered an Error, and could not complete the conversion
for portlet id=150, it returned the following message: XML Parsing Error

プロバイダを登録するか、ページにポートレットを表示しようとしましたが、このエラー・メッセージが表示されました。provider.xmlの変更時に1つ以上のタグが破損したため、ファイルを解析できません。

解決方法1

provider.xmlのエラーを確認します。

問題2

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

Error: The XML parser encountered an Error, and could not complete the conversion
for portlet id=146, it returned the following message: XSL reference value missing
in XML document.

ポートレットをページに追加するか、プロバイダを登録しようとしましたが、このエラーが表示されました。provider.xmlのポートレット情報が正しくない可能性があります。クラスのロケーションが誤っている可能性もあります。

解決方法2

タグが不足していないか、また、正しい順序になっているかどうかをチェックします。自分のクラス・ファイルが存在し、provider.xmlで正しく指定されているかどうかを確認します。

B.2.2.8 ポートレットを追加するときのエラー

ポートレットをページに追加しようとしたときに、次のエラー・メッセージが表示される場合です。

Error: An unexpected error occurred: ORA-29532: Java call terminated by uncaught
Java exception: Attribute value should start with quote. 
(WWC-43000) An unexpected error occurred: Attribute value should start with quote.
at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:205)

問題

Oracle Portalがprovider.xmlで問題に遭遇しました。ファイル内の属性が破損している可能性が高いです。

解決方法

provider.xmlのエラーを確認します。

B.2.2.9 コンテンツ・リクエストのタイムアウト

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

ERROR TIMEOUT FOR CONTENT=timeout

問題

Webプロバイダは正常に登録できています。ポートレットをページに追加するか、またはページを既存のポートレットでリフレッシュするときに、タイムアウト・エラー・メッセージが表示されました。このエラーは、Oracle PortalがJavaポートレット・リスナーへ接続しようとしたがタイムアウトになったことを示しています。

解決方法

サンプル・ページにアクセスできるかどうかを確認します。

http://host:port/context/providers/servicename

タイムアウト期間を設定します。このためには、次の場所にあるOracle PortalのappConfig.xmlのページ・サーブレットに、次のinitパラメータを追加します。

MW_HOME\user_projects\domains\<DomainName>\config\fmwconfig\servers\WLS_PORTAL\applications\portal\configuration

このappConfig.xmlファイルは、Parallel Page Engine用であることに注意してください。例:

<requesttime>1000</requesttime>
<minTimeout>100</minTimeout>
<stall>500</stall>

appConfig.xmlとその構成パラメータの詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。

また、各プロバイダをOracle Portalに登録するときにタイムアウト値を設定することもできます。プロバイダのタイムアウト値は、効果を持つためには、appConfig.xml内のminTimeoutパラメータ値以上の値にする必要があります。PDK-Javaプロバイダの登録方法は、6.5.5項「Oracle PDK-Javaポートレットの登録と表示」を参照してください。WSRPプロバイダの登録方法は、6.3.4項「JSR 168ポートレットの登録と表示」を参照してください。

B.2.2.10 メッセージ500が返される

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

Error: The listener returned the following Message: 500

問題

この汎用メッセージは、Oracle Portalがポートレットを表示しようとしているときに内部サーバー・エラーを受け取ると表示されます。このメッセージは複数の原因に対するものであり、問題の原因はそのうちのいずれか1つです。

解決方法

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logsにあるWLS_PORTAL-diagnostic.logファイルを確認して、エラーの原因を見つけます。

B.2.2.11 getメソッドを使用するJPSポートレットが動作しない

HTMLフォームはgetまたはpostメソッドを使用して送信できますが、WSRP標準の場合、コンシューマ(ポータル)ではpostメソッドしか使用できません。getメソッドのサポートは、標準に則ってオプション扱いになっています。ポータルのコンシューマはgetメソッドをサポートする必要がないので、ポートレット開発の際はpostメソッドを使用することをお薦めします。

問題

getメソッドを使用するJPSポートレットがあり、このポートレットはOracle Portalで正常に動作しません。getメソッドを使用したフォームは、送信されるときに、操作URL内の問合せ文字列を失います。問合せ文字列は、ポートレットがポータルに戻るために必要で、また、WSRP状態で必要です。

解決方法

getメソッドをpostメソッドと置き換えてください。

B.2.2.12 再デプロイ後に、ポートレットでセッションの期限切れメッセージが表示される

ポートレット・コンテナにポートレットを再度デプロイすると、プロデューサとそのすべてのコンシューマの間で持たれている既存のセッションがすべて失われます。コンシューマが既存のプロデューサ・セッションを再利用しようとする場合、コンシューマが再デプロイ後初めてプロデューサに接続しようとすると、エラー・メッセージが表示されることがあります。

問題

再デプロイ後初めてポートレットにアクセスすると、そのポートレットでエラー・メッセージが表示されます。

Error: Could not get markup. The cookie or session is invalid or there is a runtime exception.

解決方法

プロデューサのセッションを再確立するには、ポータル・ページをリフレッシュします。新しいブラウザ・セッションからポートレットに再アクセスする場合は、このエラー・メッセージは表示されません。自動的に新しいプロデューサ・セッションが確立されるためです。

B.2.3 ポートレット・コードをコンパイルできない

ポートレットのコードをコンパイルしようとすると、コンパイル・エラーが表示されます。

問題

ポートレット開発ライブラリが選択されていません。

解決方法

プロジェクトに対してポートレット開発ライブラリを選択してください。プロジェクトのプロパティを編集し、右側のペインで「プロファイル」>「開発>「ライブラリ」を選択します。ポートレット開発ライブラリが「選択済のライブラリ」リストに含まれていることを確認します。

B.2.4 アプリケーション・サーバーの接続テストに失敗する

Oracle JDeveloperでアプリケーション・サーバー接続テストを実行すると、Connection refused: connectというメッセージが表示されてテストに失敗します。

問題1

WebLogic Serverが実行されていません。

解決方法1

WebLogic Serverを実行するため、ブラウザにhttp://yourhostyourdomain:7001と入力します。

問題2

接続情報が正しくありません。

解決方法2

接続設定ウィザードに指定した接続情報を検証します。

B.2.5 プロバイダ・テスト・ページにエラーが表示される

ブラウザからプロバイダ・テスト・ページにアクセスしようとするとエラーが表示されます。

問題1

provider.xmlの構文が正しくありません。

解決方法1

詳細はPortal Center

provider.xmlの構文を修正します。Portal Studio上のドキュメント「PDK-Java XML Provider Definition Tag Reference」を参照してください。アドレスは次のとおりです。

http://www.oracle.com/technology/products/ias/portal/html/javadoc/xml_tag_reference_v2.html

問題2

デプロイ環境に必要なJARファイルがありません。

解決方法2

不足しているクラスのJARファイルを検索します。不足するJARファイルを識別したら、Oracle JDeveloperデプロイ・プロファイル内のアプリケーションのlibディレクトリに追加できます。デプロイ・プロファイルの詳細は、Oracle JDeveloperのオンライン・ヘルプ・システムを参照してください。

B.2.6 Webプロバイダがポートレット・リポジトリに表示されない

OmniportletなどのWebプロバイダが正常に登録され、ナビゲータで表示できても、ポートレット・リポジトリに表示されません。

問題

WebプロバイダではDBPreferenceStoreを使用しますが、data-sources.xmlに格納されているこのデータベース情報が正しくありません。

解決方法

data-sources.xmlの情報を修正します。プロバイダをリフレッシュし、ポートレット・リポジトリのキャッシュを無効にします。

B.2.7 ポートレットがページに表示されない

ポータル・ページにアクセスした際に、ポートレットがページに表示されません。

問題1

プロバイダが停止しています。

解決方法1

ブラウザのアドレス・バーにプロバイダ登録URLを入力し、プロバイダを起動してください。

問題2

プロバイダのセキュリティ・マネージャによって、ポートレットの表示が拒否されています。

解決方法2

プロバイダ定義ファイル(provider.xml)をチェックし、セキュリティ・マネージャが定義されていれば削除またはコメントアウトします。

問題3

ポートレットの「アクセス」ページで定義されたポートレットの実行権限を、ユーザーが持っていない可能性があります。

解決方法3

ポートレットの権限を確認し、ユーザーまたはユーザーの所属するグループが実行アクセス権限を持っていない場合は、権限を付与します。ポートレットは、アクセス権限をプロバイダから継承することがあります。Oracle Portalのナビゲータを使用してポートレットのプロバイダを検索し、そのアクセス権限を確認してから、ポートレットにドリルダウンしてそのアクセス権限を確認します。

問題4

ポートレットを再デプロイした後、それを表示しようとしたときにエラーが発生します。

解決方法4

B.2.2.12項「再デプロイ後に、ポートレットでセッションの期限切れメッセージが表示される」を参照してください。

B.2.8 最初は表示されたポートレットがその後ページに表示されない

ポータル・ページにアクセスした際、最初はページにポートレットが表示されますが、その後表示しようとするとエラー・メッセージが表示されます。

問題

プロバイダのセッション情報が正しくありません。

解決方法

プロバイダがセッションを使用しているかどうかをチェックします。使用している場合は、プロバイダ登録情報を編集し、次のようにセッション対応の登録になるようにします。

Login Frequency: Once per User Sessions

また、provider.xml<session>がtrueに設定されていることを確認する必要もあります。

B.3 OmniPortletの問題

この項では、OmniPortletの使用中に発生する可能性のある問題のトラブルシューティングに役立つ情報を提供します。

OmniPortletの実行中に発生したエラーを確認する方法は、次のとおりです。

OmniPortletプロバイダのロギング・レベルを変更する手順は、次のとおりです。

発生する可能性が高いOmniPortletエラーとその解決方法は次のとおりです。

B.3.1 OmniPortletから指定されたURLにアクセスできない

OmniPortletにエラーが表示されるか、または正しいコンテンツが表示されません。

問題1

URLがアクティブではありません。

解決方法1

ブラウザのアドレス・バーに直接URLを入力し、それが有効かどうかテストします。

問題2

サイトを表示するためにプロキシ・サーバーが必要な場合、プロキシ設定が無効です。この場合、次のようなメッセージが表示されることがあります。

Failed to open specified URL.Cannot open the URL specified because of connection timeout.

解決方法2

プロキシ設定が有効かどうかチェックします。これには、OmniPortletのプロバイダ・テスト・ページでHTTPプロキシ設定に対する「編集」をクリックします。

問題3

OmniPortlet timed outというメッセージがOmniPortletに表示されます。

解決方法3

次のいずれかのタスクを定義します。

  1. サイトを表示するためにプロキシ・サーバーが必要な場合は、「解決方法2」を参照してください。

  2. URLリクエストの処理に時間がかかる場合は(実行時間の長い問合せを実行するリクエストなど)、OmniPortletのprovider.xmlファイルでタイムアウト値(秒数)を延長してください。このファイルは次の場所にあります。

    MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\portalTools_11.1.1.1.0\1pwj8k\war\WEB-INF\providers\omniPortlet
    

    タイムアウト値を変更する場合は、次の処理も必要です。

    • 中間層をバウンスします。

    • 使用中のプロバイダを登録しているOracle Portalインスタンスのプロバイダ登録タイムアウト値を延長します。

問題4

HTTP認証が必要な場合で、ユーザー名およびパスワードの情報がないか、または無効の場合は、次のエラー・メッセージが表示されます。

指定されたURLに接続中に認証に失敗しました。正しいユーザー名とパスワードを入力してください。

解決方法4

保護データ(Webクリッピング)・リポジトリ設定を行うには、OmniPortletのプロバイダ・テスト・ページで「編集」をクリックします。「ソース」タブの「接続の編集」をクリックし、「接続情報」ページで有効なユーザー名とパスワードを入力します。接続情報を入力するには、すでに保護データ・リポジトリが構成されている必要があります。構成を行うには、OmniPortletのプロバイダ・テスト・ページで「編集」をクリックします。

問題5

証明書のあるHTTPSサイトのURLを開こうとし、証明書が有効ではないと認識されると、次のエラー・メッセージがポートレットに表示されます。

指定したURLへのHTTPS接続でSSLハンドシェイクに失敗しました。証明書ファイルを増やす必要があります。

解決方法5

『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。

問題6

プロキシ・サーバーに認証が必要な場合で、ユーザー名およびパスワードの情報がないか、または無効の場合は、次のエラー・メッセージが表示されます。

ユーザー・プロキシ・ログイン情報が無効か、ありません。

解決方法6

プロキシ・サーバーのユーザー名とパスワードが有効かどうかチェックします。詳細は、B.4.5項「ファイアウォール外でクリップしたときのHTTPエラー・コード407」を参照してください。

B.3.2 ポートレット・コンテンツがリフレッシュされない

「デフォルトの編集」ページでポートレットのプロパティを変更した後、ポートレットのコンテンツがリフレッシュされません。

問題1

Oracle Webキャッシュの無効化が正しく構成されていません。

解決方法1

『Oracle Fusion Middleware Oracle Portal管理者ガイド』のI.2.1.3項「キャッシュの構成(PDKのみ)」を参照してください。

問題2

ポートレットがパーソナライズされています。

解決方法2

B.3.3「「デフォルトの編集」への変更がパーソナライズしたポートレットに反映されない」を参照してください。

B.3.3 「デフォルトの編集」への変更がパーソナライズしたポートレットに反映されない

実行時に「パーソナライズ」リンクからポートレットをパーソナライズした場合に、パーソナライズしたポートレットに新しいプロパティ値が反映されません。

問題

ポートレットをパーソナライズすると、パーソナライズされたオブジェクト・ファイルの完全なコピーが作成されます。すべてのプロパティが複製されるため、その後の「デフォルトの編集」を使用した変更は、パーソナライズされたポートレットには反映されません。

解決方法

最新の変更内容がポートレットに反映されるようにするには、「デフォルトの編集」を使用して変更した後に「パーソナライズ」を再度クリックし、「デフォルトに戻す」オプションを選択します。

B.4 Webクリッピングの問題

この項では、Webクリッピング・プロバイダまたはWebクリッピング・スタジオの使用中に発生する可能性のある次の問題のトラブルシューティングに役立つ情報を提供します。

B.4.1 ロギング・レベルの設定

デフォルトでは、Webクリッピングのロギング・レベルはレベル3に設定されています。このレベルでは、構成、重大なエラーおよび警告に関する情報が提供されます。このレベルは、日常の操作にあわせたレベルです。デバッグに役立つ情報を表示するには、ロギング・レベルを8に設定します。

ロギング・レベルを設定するには、次の場所にあるweb.xmlファイルを編集します。

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\portalTools_11.1.1.1.0\kjdcke\war\WEB-INF\web.xml

レベルを8に設定してデバッグ情報を表示するには、次に示すように、パラメータoracle.portal.log.LogLevelの値を設定します。

<context-param>
        <param-name>oracle.portal.log.LogLevel</param-name>
        <param-value>8</param-value>
</context-param>

変更した後は、Webアプリケーションを再起動します。

B.4.2 エラー・メッセージの確認

テスト・ページへのアクセス時やWebクリッピング・ポートレットの実行時に発生したエラーは、次のファイルに書き込まれます。

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL.log

B.4.3 テスト・ページを使用したプロバイダの状態の確認

Webクリッピング・プロバイダのテスト・ページを使用すると、プロバイダが適切に機能しているかどうかを判断できます。このテスト・ページにアクセスするには、次の場所にあるPortalツール・アプリケーションの初期画面で「Webクリッピング・プロバイダ」をクリックします。

http://host:port/portalTools

「プロバイダ・テスト・ページ: Webクリッピング」が表示されます。ここでは、次の情報が提供されます。

  • Webクリッピング・ポートレットに関するポートレット情報。Webクリッピング・プロバイダには、ポートレットが1つのみ含まれます。

  • プロバイダ初期化パラメータおよび値。

  • 構成を編集するページへのリンクを含めた、プロバイダの状態。

テスト・ページの使用方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「Webクリッピングの管理」を参照してください。

B.4.4 クリッピング用Webサイトへの接続の問題

クリッピングを含むWebサイトへの接続の作成または保持で問題が発生しました。

問題1

Webクリッピング・スタジオを使用してWebサイトにアクセスできない場合は、正しくないURLを使用している可能性があります。

解決方法1

URLが正しいことを確認するには、クリップの前に、クリップするURLをブラウザでテストします。また、URLがプロバイダの中間層からアクセスが可能なかどうかをテストします。

問題2

ファイアウォール外のHTTPサーバーに接続するときにプロキシ・サーバーを使用する環境では、Webサイトにブラウズしようとすると、接続がタイムアウトします。

解決方法2

プロキシ・サーバーが正しく構成されているかどうかを確認します。

プロキシ・サーバーを構成するには、Webクリッピング・プロバイダのテスト・ページに移動します(B.4.3項「テスト・ページを使用したプロバイダの状態の確認」を参照)。Webクリッピング・プロバイダのテスト・ページで、「HTTPプロキシ」行の「アクション」列にある「編集」をクリックします。「プロバイダの編集」ページで、HTTPプロキシの「HTTPプロキシ・ホスト」および「HTTPプロキシ・ポート」を指定します。

ファイアウォール内側のサーバーにアクセスするには、「この文字で始まるドメインにプロキシを使用しない」を選択してURLを入力し、ファイアウォールを通過する必要がないドメイン名のリストを指定できます。新規の設定を有効にするために、管理サーバーを再起動する必要はありません。

プロキシ・サーバーの構成方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「Webクリッピングの管理」を参照してください。

問題3

構成にロード・バランサが含まれていて、Webクリッピング・ポートレットにクリップを追加しているときに接続の作成または保持に問題が発生します。

解決方法3

構成が正しく設定されていません。この問題を解決するには、次のようにします。

  • 複数のOracle WebLogic Serverインスタンスが1つのロード・バランサの背後に設定されている場合は、Webクリッピング・リポジトリとHTTPプロキシを、すべてのOracle WebLogic Serverインスタンスに対して同一になるように設定してから、Oracle WebLogic Serverインスタンスをロード・バランサに結合する必要があります。

    Webクリッピングには定義があり、この定義は、Oracle DatabaseサーバーがホスティングするWebクリッピング・リポジトリに永続的に格納される必要があります。複数の中間層の環境では、すべてのOracle WebLogic Serverのインスタンスは、同一のリポジトリに定義を格納する必要があります。

  • ロード・バランサは、セッション対応である必要があります。セッション対応でない場合、最初のリクエストは接続しますが、後続のリクエストは異なるインスタンスにルーティングされる可能性があり、失敗します。

ロード・バランサを使用した構成方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「詳細構成の実行」を参照してください。

問題4

リバース・プロキシを使用しても、接続できません。

解決方法4

リバース・プロキシ・サーバーが正しく構成されているかどうかを確認します。リバース・プロキシの構成方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「詳細構成の実行」を参照してください。

問題5

接続できず、エラー・ログには、拒否されているデータベースへのログオンに関するメッセージが含まれています。(エラー・ログの詳細は、B.4.1項「ロギング・レベルの設定」を参照してください。)

解決方法5

インフラストラクチャ・データベースのPORTALスキーマ・パスワードが、手動で変更され、Oracle Internet Directoryに格納されているパスワードと一致していない可能性があります。パスワードの設定方法の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

B.4.5 ファイアウォール外でクリップしたときのHTTPエラー・コード407

プロキシ・サーバーがプロキシ認証用に構成されていて、ファイアウォールの外側にあるページをクリップすると、HTTPエラー・コード407が表示されます。

問題

プロキシ・サーバーはプロキシ認証用に構成されているが、プロキシ認証は構成していません。

解決方法

プロキシ認証を手動で構成する必要があります。Webクリッピングでは、グローバルなプロキシ認証とユーザーごとの認証の両方がサポートされます。プロキシ・サーバーのレルムを指定し、すべてのユーザーが指定されたユーザー名とパスワードで自動的にログインするか、各ユーザーが個別のユーザー名とパスワードでログインするか、またはすべてのユーザーが指定されたユーザー名とパスワードでログインするかを指定できます。プロキシ認証の構成方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド 』の「Webクリッピングの管理」を参照してください。

B.4.6 ページをクリップできない

Webサイトに接続できますが、ページをクリップできません。

問題

そのページがIFrameで過密になっている可能性があります。

解決方法

ページ・ソースに注意しながら、ブラウザにページを表示します。ページにIFrameが含まれている場合は、そのIFrameのsrc属性が示すURLを使用してWebクリッピング・スタジオでブラウズを開始します。

B.4.7 クリッピング内のイメージが取得されない

Webクリッピング内にイメージがその他のクリッピングとともに取得されません。

問題

イメージはリンク(IMGタグのsrc属性を使用)として扱われるため、クリップされたサイトにあるイメージは、元のサイトから直接供給されます。クリッピングの作成時にプロキシ設定を有効にすることが、イメージで必要な場合は、ブラウザのプロキシ設定を無効にすることで、クリッピング内でのイメージの表示が禁止されます。

解決方法

ブラウザのプロキシ設定を有効にします。

B.4.8 URLベースのポートレットの移行に伴う問題を解決する

provider.xmlファイルに格納されているURLベースのポートレットを、Webクリッピング・ポートレットに移行できます。この項では、ポートレットをWebクリッピング・ポートレットに移行するときに発生する問題のトラブルシューティング方法を説明します。移行プロセス自体の詳細は5.6項「URLベースのポートレットからの移行」を参照してください。

B.4.8.1 移行ツールを実行したときのファイルが見つからない例外

移行ツールを実行したときに、次の例外が発生した場合です。

Exception in thread "main" java.io.FileNotFoundException:
 /wrongpath/somservice.properties (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:103)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.importService
                                             (UrlServicesMigrator.java:631)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.main
                                             (UrlServicesMigrator.java:724)
        at oracle.webdb.wcs.WcWebdbMain.main(WcWebdbMain.java:60)

問題

URLベースのポートレット・サービスまたはWebクリッピング・ポートレット・サービスのデプロイ・プロパティ・ファイル用に指定したファイルが存在しません。

解決方法

引数リストにある両方のサービス・デプロイ・プロパティ・ファイルのパスが正しい場所を指しているか確認します。

B.4.8.2 移行ツールを実行したときのNULLポインタの例外

移行ツールを実行したときに、次の例外が発生した場合です。

Exception in thread "main" java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:375)
        at java.util.Properties.setProperty(Properties.java:97)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.setRepository
                                                  (UrlServicesMigrator.java:415)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.main
                                                  (UrlServicesMigrator.java:733)
        at oracle.webdb.wcs.WcWebdbMain.main(WcWebdbMain.java:58)

問題

リポジトリ設定がWebクリッピング・プロバイダ用に構成されていません。

解決方法

移行ツールを実行する前に従う必要がある手順が5.6.1項「移行の準備」にありますので、参照してください。

B.4.8.3 ターゲットのprovider.xmlがすでに移行されているエラー

移行ツールを実行したときに、次の例外が発生した場合です。

Error: Target provider.xml is already migrated.

問題

URLベースのポートレット・サービス・デプロイ・プロパティ・ファイルから参照されたprovider.xmlファイルは、すでに移行されています。provider.xmlファイルで指定されたプロバイダ定義クラスは、すでにWcProviderDefinitionにあります。

解決方法

移行を再実行する場合は、デプロイ・プロパティ・ファイルとWEB-INF/providersの下のディレクトリ名全体の両方にあるサービスの名前を変更してから、移行を再実行してください。

B.4.8.4 クラスを使用してprovider.xmlを移行できないエラー

移行ツールを実行したときに、次の例外が発生した場合です。

Error: Can't migrate provider.xml with class <someclass>

問題

URLベースのポートレット・サービス・デプロイ・プロパティ・ファイルから参照されたprovider.xmlファイルには、URLベースのポートレットで使用されたクラス名と一致しないプロバイダ・クラス名が含まれています。具体的に言えば、このファイルで指定されたプロバイダ・クラス名は、oracle.portal.provider.v2.http.URLProviderDefinitionではありません。移行ツールはURLベースのポートレットのプロバイダ定義を移行するためのもので、その他のプロバイダ定義用ではありません。URLベースのポートレットのプロバイダ定義にサブクラスがあるクラスでも、正しく移行されません。

解決方法

このサービスは移行できません。

B.5 関連情報

Oracle MetaLink(http://metalink.oracle.com)に、この他の問題解決方法が掲載されています。問題の解決方法が見つからない場合は、オラクル社カスタマ・サポート・センターに問い合せてください。


関連項目:

「Oracle Portal Release Notes」。Oracle Technology Networkから入手できます。