Risoluzione dei problemi comuni

Di seguito sono riportati alcuni errori che potrebbero verificarsi durante l'integrazione di Oracle E-Business Suite con IAM OCI utilizzando E-Business Suite Asserter.

Risolvere un errore di privilegi insufficienti

Dopo l'autenticazione IAM OCI, anziché ottenere l'accesso a Oracle E-Business Suite, l'utente viene reindirizzato a Oracle E-Business Suite con il messaggio di errore "Non si dispone di privilegi sufficienti per l'operazione corrente" e richiede all'utente di collegarsi di nuovo.

In genere, quando l'applicazione Oracle E-Business Suite genera questo errore, significa che il cookie è impostato con un dominio errato. Per confermare, controllare il log di debug dell'Asserter di E-Business Suite (<HOME DIR>/ebsasserter.log). Il log di debug dell'Asserter di E-Business Suite mostra che il valore di sessionCookieDomain non è corretto. CookieDomain è stato impostato su .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 non deve essere impostato su un valore di alcun tipo. È necessario aggiornare l'impostazione SESSION_COOKIE_DOMAIN in ICX_PARAMETERS.

  1. Aggiornare il valore SESSION_COOKIE_DOMAIN in ICX_PARAMETERS:
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Impostare session_cookie_domain su NULL in ICX_PARAMETERS:
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. riavviare tutti i servizi.
  4. Ripetere il test del problema.

Risolvere un errore interno del server durante il logout

Quando si esegue il logout da Oracle E-Business Suite, il browser genera un messaggio di errore "Errore server interno".

Questo problema è dovuto a una versione precedente di AppsLogoutRedirect.java sul lato Oracle E-Business Suite.

Controllare l'intestazione per AppsLogoutRedirect.java sul lato Oracle E-Business Suite:

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 $

È necessario applicare l'ultimo aggiornamento di patch critiche di Oracle E-Business Suite versione 12 gennaio 2013 o superiore per risolvere il problema. Questo aggiornamento di patch critiche consente a AppsLogoutRedirect.java di utilizzare i profili APPS_SSO e APPS_AUTH_AGENT. Consultare il documento informativo (luglio 2018) (ID documento 2379675.1) per tutti i dettagli relativi all'applicazione della patch.

Correggere un problema di sincronizzazione dell'ora

Durante l'accesso all'URL dell'applicazione E-Business Suite Asserter, il flusso di login dell'applicazione Oracle E-Business Suite ha restituito un errore interno del server.

Il trace di intestazione HTTP è simile al seguente:

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

Il log del dominio di E-Business Suite Asserter è simile al seguente:

####<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

Il log dell'Asserter di E-Business Suite è simile al seguente:

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 è impostato su 1537715029. Utilizzare EpochConverter per convertire l'ora dell'epoca Unix corrente in una data e un'ora leggibili dall'utente. Di conseguenza, il tempo di scadenza nel token è impostato su Sunday, September 23, 2018 3:03:49 PM GMT. Tuttavia, l'ora nel log del dominio Asserter di E-Business Suite è Sep 23, 2018 6:53:31,380 PM AST. Si noti che Greenwich Mean Time è 4 ore prima dell'Atlantico Standard Time. Di conseguenza, il set di tempo è Sep 23, 2018 10:53:31 PM GMT. Il sistema in cui è distribuito E-Business Suite Asserter non è sincronizzato in tempo con IAM OCI, pertanto il token passato da IAM OCI è effettivamente al di fuori del periodo di validità e quindi l'errore "Token scaduto".

Assicurarsi che la data e l'ora nel sistema in cui è distribuito E-Business Suite Asserter siano sincronizzate in tempo con i server NTP e quindi con l'host IAM OCI.

Gestisci errore Java ExceptionInInitializerError

Durante l'accesso all'URL dell'applicazione E-Business Suite Asserter, l'applicazione Oracle E-Business Suite genera l'errore java.lang.ExceptionInInitializerError.

Il log di debug di E-Business Suite Asserter mostra il seguente errore 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)

Ciò si verifica a causa di impostazioni errate nel file bridge.properties. Verificare il file bridge.properties e verificare che disponga della configurazione richiesta. Verificare inoltre che il percorso specificato in wallet.path nel file bridge.properties sia valido.

Gestisci errore Java RuntimeException

Durante l'accesso all'URL dell'applicazione E-Business Suite Asserter, l'applicazione Oracle E-Business Suite restituisce java.lang.RuntimeException.

Il log di debug di E-Business Suite Asserter mostra il seguente errore 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)

Controllare che il set di valori ebs.ds.name corrisponda al nome dell'origine dati creato in WebLogic.

Correggi un problema di collegamento in profondità

Dopo l'autenticazione IAM OCI, invece di ottenere l'accesso a Oracle E-Business Suite, l'utente viene reindirizzato a Oracle E-Business Suite e richiede all'utente di collegarsi di nuovo.

Ciò si verifica perché il collegamento in profondità non funziona.

Controllare che la proprietà bridge whitelist.urls sia configurata. Se il problema persiste, specificare in modo esplicito i numeri di porta nella configurazione whitelist.urls. Ad esempio, whitelist.urls=http://ebs.oracle.com:80/OA_HTML…. È inoltre possibile controllare il nome cookie ID JSESSION dell'applicazione E-Business Suite Asserter nel file weblogic.xml. Se in WebLogic è presente un'altra applicazione Web con lo stesso nome cookie, si verificheranno conflitti.

Problemi durante il logout

Se si riscontrano problemi durante il processo di logout, verificare il valore del parametro URL di reindirizzamento dopo logout in IAM OCI e il valore del parametro post.logout.url nel file bridge.properties.

Il parametro post.logout.url nel file bridge.properties è facoltativo e per impostazione predefinita non è necessario fornire alcun valore. Utilizzare questo parametro per fare in modo che l'applicazione E-Business Suite Asserter reindirizzi il browser utente all'URL specificato dopo che E-Business Suite Asserter ha terminato il processo di logout.

Se abilitato, il valore di post.logout.url nel file bridge.properties deve corrispondere al valore del parametro URL di reindirizzamento dopo logout per l'applicazione E-Business Suite Asserter in IAM OCI.

  1. Aprire l'applicazione E-Business Suite Asserter in IAM OCI e aggiornare il valore URL reindirizzamento dopo logout.
  2. Aprire il file ebs.war, aggiornare il file bridge.properties, rigenerare il file war e ridistribuirlo nel server WebLogic. Assicurarsi che il valore di questo parametro corrisponda al parametro Post Logout Redirect URL in IAM OCI.