일반적인 문제 해결

E-Business Suite Asserter를 사용하여 Oracle E-Business Suite를 OCI IAM과 통합하는 동안 발생할 수 있는 몇 가지 오류는 다음과 같습니다.

권한 부족 오류 해결

OCI IAM 인증 후 Oracle E-Business Suite에 액세스하지 않고 Oracle E-Business Suite로 다시 재지정됩니다. 오류 메시지 "현재 작업에 대한 권한이 부족합니다."가 표시되고 사용자에게 다시 사인인하라는 메시지가 표시됩니다.

일반적으로 Oracle E-Business Suite 응용 프로그램에서 이 오류가 발생하면 쿠키가 잘못된 도메인으로 설정되어 있음을 의미합니다. 이를 확인하려면 E-Business Suite 검증기 디버그 로그(<HOME DIR>/ebsasserter.log)를 확인합니다. E-Business Suite 검증기 디버그 로그는 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_PARAMETERS에서 session_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 Release 12 Critical Patch Update 2013년 1월 이상을 적용해야 합니다. 이 중요 패치 업데이트를 통해 AppsLogoutRedirect.javaAPPS_SSOAPPS_AUTH_AGENT 프로파일을 활용할 수 있습니다. 이 패치를 적용할 모든 세부정보는 지식 문서(2018년 7월)(문서 ID 2379675.1)를 확인하십시오.

시간 동기화 문제 수정

E-Business Suite 검증기 애플리케이션 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 검증기 도메인 로그는 다음과 유사합니다.

####<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 검증기 로그는 다음과 유사합니다.

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 검증기 도메인 로그의 시간은 Sep 23, 2018 6:53:31,380 PM AST입니다. 그리니치 표준시가 대서양 표준시보다 4시간 빠릅니다. 따라서 시간 세트는 Sep 23, 2018 10:53:31 PM GMT입니다. E-Business Suite 검증기가 배치된 시스템은 OCI IAM과 시간 동기화되지 않아 OCI IAM에서 전달된 토큰이 유효 기간을 벗어나므로 오류 "토큰 만료됨"이 발생합니다.

E-Business Suite 검증기가 배치된 시스템의 날짜 및 시간이 NTP 서버 및 OCI IAM 호스트와 시간 동기화되는지 확인합니다.

Java 오류 처리 ExceptionInInitializerError

E-Business Suite 검증기 애플리케이션 URL에 액세스하는 동안 Oracle E-Business Suite 애플리케이션에서 java.lang.ExceptionInInitializerError 오류가 발생합니다.

E-Business Suite 검증기 디버그 로그에 다음 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 검증기 애플리케이션 URL에 액세스하는 동안 Oracle E-Business Suite 애플리케이션에서 java.lang.RuntimeException가 발생합니다.

E-Business Suite 검증기 디버그 로그에 다음 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에서 생성된 데이터 소스 이름에 해당하는지 확인합니다.

딥 링크 문제 해결

OCI 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 검증기 앱의 JSESSION ID 쿠키 이름을 확인할 수도 있습니다. WebLogic에 동일한 쿠키 이름을 가진 다른 웹 앱이 있는 경우 충돌합니다.

로그아웃 중 이슈

로그아웃 프로세스에서 문제가 발견되면 OCI IAM에서 Post Logout Redirect URL 매개변수 값을, bridge.properties 파일에서 post.logout.url 매개변수 값을 확인합니다.

bridge.properties 파일의 post.logout.url는 선택적 매개변수이므로 기본적으로 값을 제공하지 않아도 됩니다. E-Business Suite 검증기가 로그아웃 프로세스를 완료한 후 이 매개변수를 사용하여 E-Business Suite 검증기 애플리케이션이 사용자 브라우저를 지정된 URL로 재지정하도록 할 수 있습니다.

사용으로 설정된 경우 bridge.properties 파일의 post.logout.url 값이 OCI IAM의 E-Business Suite 검증기 애플리케이션에 대한 사후 로그아웃 재지정 URL 매개변수 값과 일치해야 합니다.

  1. OCI IAM에서 E-Business Suite 검증기 애플리케이션을 열고 사후 로그아웃 재지정 URL 값을 업데이트합니다.
  2. ebs.war 파일을 열고, bridge.properties 파일을 업데이트하고, war 파일을 재생성하고, 파일을 WebLogic 서버에 재배치합니다. 이 매개변수의 값이 OCI IAM의 사후 로그아웃 재지정 URL 매개변수와 일치하는지 확인하십시오.