IAM
の認証後、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設定を更新する必要があります。
ICX_PARAMETERSのSESSION_COOKIE_DOMAIN値を更新します:
SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
SESSION_COOKIE_DOMAIN
------------------------------
.oracle.com
ICX_PARAMETERS
で
session_cookie_domain
を
NULL
に設定します:
update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
commit;
すべてのサービスを再起動します。
問題を再テストします。
ログアウト中の内部サーバー・エラーの解決
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 $
2013年1月以降の最新のOracle E-Business Suiteリリース12クリティカル・パッチ・アップデートを適用して、この問題を修正します。このクリティカル・パッチ・アップデートにより、
AppsLogoutRedirect.java
は、
APPS_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_exp
は、
1537715029
に設定されています。
EpochConverter
を使用して、現在のUNIXエポック時間を判読可能な日時に変換します。つまり、トークンの有効期限は、
Sunday, September 23, 2018 3:03:49 PM GMT
に設定されています。ただし、E-Business Suite Asserterドメイン・ログの時間は、
Sep 23, 2018 6:53:31,380 PM AST
です。グリニッジ標準時は、大西洋標準時より4時間進んでいることに注意してください。つまり、時間セットは
Sep 23, 2018 10:53:31 PM GMT
です。E-Business Suite Asserterがデプロイされているシステムは、
IAM
と時間同期されていません。その結果、
IAM
によって渡されたトークンは有効期間外となり、
「トークンの有効期限切れ」
というエラーが発生します。
E-Business Suite Asserterがデプロイされているシステムの日時が、NTPサーバーおよび
IAM
ホストと時間同期されていることを確認してください。
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で作成されたデータソース名に対応していることを確認します。
ディープ・リンクの問題の修正
IAM
の認証後、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に存在する場合、競合が発生します。
ログアウト中の問題の解決
ログアウト・プロセス中に問題が見つかった場合は、
IAM
の
「ログアウト後のリダイレクト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
の値は、
IAM
のE-Business Suite Asserterアプリケーションの
「ログアウト後のリダイレクトURL」
パラメータの値と一致している必要があります。
IAM
でE-Business Suite Asserterアプリケーションを開き、
「ログアウト後のリダイレクトURL」
の値を更新します。
ebs.war
ファイルを開き、
bridge.properties
ファイルを更新し、warファイルを再生成して、そのファイルをWebLogic Serverに再デプロイします。このパラメータの値が、
IAM
の
「ログアウト後のリダイレクトURL」
パラメータと一致していることを確認します。
データ・ソース作成エラー
EBS AsserterのWebLogicサーバー・マシンにデータ・ソースを作成するときに
Connection test failed
が表示される場合は、デスクトップDBCファイルの情報に対応する次のプロファイル・オプションを設定する必要がある場合があります。
プロファイル・オプション名:
FND
: ユーザー・タイプの検証
プロファイル・オプション・コード:
FND_SERVER_SEC
推奨設定:
サイト・レベルのデスクトップのみ(内部値D)
プロファイル・オプション名:
FND
: IPアドレスの検証
プロファイル・オプション・コード:
FND_SERVER_IP_SEC
推奨設定:
サイト・レベルのデスクトップのみ(内部値D)
プロファイル・オプション名:
FND
: 許可されるデスクトップ・ノード
プロファイル・オプション・コード:
FND_SERVER_DESKTOP_USER
推奨設定:
<IP制限が必要な外部ノードのカンマ区切りリスト>
。
例:
NODENAME1, NODENAME2
。
NODENAME1
および
NODENAME2
は、デスクトップ・ノードの
fnd_nodes
表の列
NODE_NAME
の値です。アプリケーション・スキーマ接続ロール(
AppsDataSource
ユーザー)を持つユーザーのユーザー・レベルでこのオプションを設定します。