一般的な問題のトラブルシューティング

E-Business Suiteアサータを使用したOracle E-Business SuiteとOracle Identity Cloud Serviceの統合中に発生する可能性のあるエラーがいくつかあります。

不十分な権限の解決エラー

Oracle Identity Cloud Serviceの認証後、Oracle E-Business Suiteへのアクセス権を取得するかわりに、ユーザーは「現在の操作の十分な権限がありません。」というエラー・メッセージを使用してOracle E-Business Suiteにリダイレクトされ、再度サインインするように求められます。

通常、Oracle E-Business Suiteアプリケーションがこのエラーをスローすると、Cookieが正しくないドメインで設定されていることを意味します。これを確認するには、E-Business Suite Asserterデバッグ・ログ(<HOME DIR>/ebsasserter.log)を確認します。E-Business Suite Asserterデバッグ・ログには、sessionCookieDomainの値が正しくないことが示されます。CookieDomain.oracle.comに設定されました。

Aug 22, 2018 2:26:34 PM oracle.apps.fnd.ext.common.EBiz init
FINE: Ebiz init(): sessionCookieDomain =.oracle.com ; protocol=https:; ssoCookieName= ORASSO_AUTH_HINT

ICX_PARAMETERS.SESSION_COOKIE_DOMAINを任意の値に設定することはできません。ICX_PARAMETERSのSESSION_COOKIE_DOMAIN設定を更新する必要があります。

  1. ICX_PARAMETERSのSESSION_COOKIE_DOMAIN値を更新します。
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. ICX_PARAMETERSsession_cookie_domainNULLに設定します。
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. すべてのサービスを再起動します。
  4. 問題を再テストします。

ログアウト中の内部サーバー・エラーの解決

Oracle E-Business Suiteからログアウトすると、ブラウザは「内部サーバー・エラー」エラー・メッセージをスローします。

この問題は、Oracle E-Business Suite側の古いバージョンのAppsLogoutRedirect.javaが原因でした。

Oracle E-Business Suite側のAppsLogoutRedirect.javaのヘッダーを確認します。

adident Header $JAVA_TOP/oracle/apps/fnd/sso/AppsLogoutRedirect.class
$Header AppsLogoutRedirect.java 120.10.12010000.7 2010/01/19 20:18:52 rsantis ship $

この問題を解決するには、最新のOracle E-Business Suiteリリース12クリティカル・パッチ更新Jan 2013以降を適用する必要があります。このクリティカル・パッチ更新により、AppsLogoutRedirect.javaAPPS_SSOおよびAPPS_AUTH_AGENTプロファイルを活用できます。このパッチを適用するためのすべての詳細については、ナレッジ・ドキュメント(2018年7月) (ドキュメントID 2379675.1)を確認してください。

時間同期の問題を修正

E-Business Suite AsserterアプリケーションURLにアクセスしている間に、Oracle E-Business Suiteアプリケーションのログイン・フローにより内部サーバー・エラーが発生しました。

HTTPヘッダー・トレースは次のようになります。

GET https://xxxxxxxxxxxxxxxxxx.oracle.com:7002/ebs/response?code=AQIDBAVcZbun_M5qU4-t9LUCYDjAOgWYiDOrf1Kb5ndbWAEYd05C-uxDfSwP8Ejfn51WT-gTuYj6bLFFYAFHQEqgYy26MTEgRU5DUllQZZIIFFVElPTl9LRVkxNCB7djF9NCAFFFABCDEF= HTTP/1.1

Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request

E-Business Suite Asserterドメイン・ログは次のようになります。

####<Sep 23, 2018 6:53:31,380 PM AST> <Error> <HTTP> <ebshost01.oracle.com>
<AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-
tuning)'> <<WLS Kernel>> <> <0b38f1ae-a3cb-48f6-80d9-00e3f3bdb263-000000a0>
<1537718011380> <[severity-value: 8] [rif: 0] [partition-id: 0] [partition-name:
DOMAIN]> <BEA-101020> <[ServletContext@44159983[app:ebs module:ebs.war
path:null spec-version:3.1]] Servelet failed with an Exception

E-Business Suite Asserterログは次のようになります。

FINE: validateToken return with result {"user_result":"America\/New_York",
"at_hash":"1A3gT4BT0WoWCTLE3IFa5A","sub":"john.doe@oracle.com","user_locale":"en",
"idp_name":"localIDP","idp_guid":"localIDP","a mr":["USERNAME_PASSWORD"],
"iss":"https: \/\/identity.oraclecloud.com\/","user_tenantname":"idcs-a61feab148e248508205cd98cdea4232",
"client_id":"67179f2609ab46309a75e5ca1f582a53","sid":"18ee87ea-04cf-4469-a565-48ccc763caf9",
"authn_strength":"2","azp":"67179f2609ab46309a75e5ca1f582a53","auth_time":"1536180435",
"session_exp":1537715029,"user_lang":"en","exp":1536209235,"iat":1536180437"idp_type":"LOCAL",
"tenant":"idcs-a61feab148e248508205cd98cdea4232","jti":"ed7be32b-d4e1-4e72-9868-6df142f07c6b",
"user_displayname":"John Doe","sub_mappingattr":"userName","tok_type":"IT",
"aud":["https:\/\/identity.oraclecloud.com\/","67179f2609ab46309a75e5ca1f582a53"],
"user_id":"63bf3d3f96094a66a6b7714218338116"}

session_exp1537715029に設定されます。EpochConverterを使用して、現在のUnixエポック時間を人間が読める日時に変換します。したがって、トークンの有効期限はSunday, September 23, 2018 3:03:49 PM GMTに設定されます。ただし、E-Business Suite Asserterドメイン・ログの時間はSep 23, 2018 6:53:31,380 PM ASTです。Greenwich Mean Timeは、大西洋Standard Timeより4時間先です。したがって、時間セットはSep 23, 2018 10:53:31 PM GMTです。E-Business Suiteアサータがデプロイされているシステムは、Oracle Identity Cloud Serviceと時間同期されていません。その結果、Oracle Identity Cloud Serviceによって渡されたトークンは有効期間外であるため、「トークン期限切れ」というエラーになります。

E-Business Suite Asserterがデプロイされているシステムの日時がNTPサーバーと同期するため、Oracle Identity Cloud Serviceホストと同期していることを確認します。

JavaエラーExceptionInInitializerErrorの処理

E-Business Suite AsserterアプリケーションURLにアクセスしているときに、Oracle E-Business Suiteアプリケーションでjava.lang.ExceptionInInitializerErrorエラーがスローされます。

E-Business Suite Asserterデバッグ・ログには、次のJavaエラーが表示されます。

<Feb 26, 2019 2:17:16,884 PM PST> <Error> <HTTP> <BEA-101020> 
<[ServletContext@2100554246[app:ebs module:ebs.war path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.ExceptionInInitializerError
at com.oracle.ebs.sso.ConnectionProvider.getConnection(ConnectionProvider.java:36)
at com.oracle.ebs.sso.RequestWrapperFilter.doFilter(RequestWrapperFilter.java:34)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)

これは、bridge.propertiesファイルの設定が正しくないために発生します。bridge.propertiesファイルを検証し、必要な構成があることを確認します。また、bridge.propertiesファイルのwallet.pathで指定されたパスが有効であることを確認します。

JavaエラーRuntimeExceptionの処理

E-Business Suite AsserterアプリケーションURLにアクセスしている間、Oracle E-Business Suiteアプリケーションはjava.lang.RuntimeExceptionをスローします。

E-Business Suite Asserterデバッグ・ログには、次のJavaエラーが表示されます。

<Feb 26, 2019 2:01:33,454 PM PST> <Error> <HTTP> <BEA-101020> 
<[ServletContext@1207779454[app:ebs module:ebs.war path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.RuntimeException: javax.naming.NameNotFoundException: Unable to resolve 'visionDS1'. Resolved ''; remaining name 'visionDS1'
at com.oracle.ebs.sso.ConnectionProvider.getConnection(ConnectionProvider.java:42)
at com.oracle.ebs.sso.RequestWrapperFilter.doFilter(RequestWrapperFilter.java:34)

ebs.ds.name値セットが、WebLogicで作成されたデータソース名に対応していることを確認します。

ディープ・リンクの問題の修正

Oracle Identity Cloud Serviceの認証後、Oracle E-Business Suiteにアクセスするかわりに、ユーザーはOracle E-Business Suiteにリダイレクトされ、再度サインインするように求められます。

これは、ディープ リンクが機能していないために発生します。

whitelist.urlsブリッジ・プロパティが構成されていることを確認します。問題が解決しない場合は、whitelist.urls構成でポート番号を明示的に指定します。たとえば、whitelist.urls=http://ebs.oracle.com:80/OA_HTML...です。weblogic.xmlファイルで、E-Business Suite AsserterアプリケーションのJSESSION ID Cookie名を確認することもできます。同じCookie名を持つ他のWebアプリケーションがWebLogicに存在する場合、競合します。

ログアウト中の問題

ログアウト・プロセス中に問題が見つかった場合は、Oracle Identity Cloud Serviceログアウト後のリダイレクトURLパラメータ値およびbridge.propertiesファイルのpost.logout.URLパラメータ値を確認します。

bridge.propertiesファイルのpost.logout.urlはオプションのパラメータであり、デフォルトでは値を指定する必要はありません。このパラメータを使用して、E-Business Suite Asserterアプリケーションがログアウト・プロセスを終了した後に、E-Business Suite Asserterアプリケーションを指定されたURLにユーザー・ブラウザをリダイレクトします。

有効になっている場合、bridge.propertiesファイルのpost.logout.urlの値は、Oracle Identity Cloud ServiceのE-Business Suite AsserterアプリケーションのPost Logout Redirect URLパラメータの値と一致する必要があります。

  1. Oracle Identity Cloud ServiceでE-Business Suite Asserterアプリケーションを開き、ログアウト後のリダイレクトURL値を更新します。
  2. ebs.warファイルを開き、bridge.propertiesファイルを更新してwarファイルを再生成し、WebLogicサーバーにファイルを再デプロイします。このパラメータの値が、Oracle Identity Cloud Serviceログアウト後のリダイレクトURLパラメータと一致していることを確認します。