Risolvere i problemi comuni

Di seguito sono riportati alcuni errori che potrebbero verificarsi durante l'integrazione di Oracle E-Business Suite con Oracle Identity Cloud Service utilizzando l'asseritore di E-Business Suite.

Risolvere un errore di privilegi insufficienti

Dopo l'autenticazione di Oracle Identity Cloud Service, anziché accedere 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 eseguire di nuovo l'accesso.

In genere, quando l'applicazione Oracle E-Business Suite restituisce questo errore, significa che il cookie è impostato con un dominio errato. Per confermare questa operazione, controllare il log di debug di E-Business Suite Asserter (<HOME DIR>/ebsasserter.log). Il log di debug di E-Business Suite Asserter mostra che sessionCookieDomain ha un valore errato. 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 problema.

Risolvi un errore interno del server durante la disconnessione

Quando si esegue la disconnessione da Oracle E-Business Suite, il browser visualizza un messaggio di errore "Errore interno del server".

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

Controllare l'intestazione di 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 $

Per risolvere il problema, è necessario applicare l'aggiornamento più recente delle patch critiche Oracle E-Business Suite Release 12 Gen 2013 o versioni successive. Questo aggiornamento di patch critiche consente a AppsLogoutRedirect.java di utilizzare i profili APPS_SSO e APPS_AUTH_AGENT. Controllare il documento informativo (luglio 2018) (ID documento 2379675.1) per tutti i dettagli per l'applicazione di questa patch.

Correggere un problema di sincronizzazione temporale

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

Il trace dell'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 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 di asserzione 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 ora leggibili dall'utente. Pertanto, il tempo di scadenza nel token è impostato su Sunday, September 23, 2018 3:03:49 PM GMT. Tuttavia, l'ora nel log del dominio E-Business Suite Asserter è Sep 23, 2018 6:53:31,380 PM AST. Si noti che il tempo di Greenwich è di 4 ore prima del tempo standard dell'Atlantico. Di conseguenza, il set di ore è Sep 23, 2018 10:53:31 PM GMT. Il sistema in cui viene distribuito l'asserter E-Business Suite non è sincronizzato a tempo con Oracle Identity Cloud Service. Di conseguenza, il token passato da Oracle Identity Cloud Service è effettivamente al di fuori del periodo di validità e l'errore "Token scaduto".

Assicurarsi che la data e l'ora nel sistema in cui è distribuito E-Business Suite Asserter siano sincronizzate nel tempo con i server NTP, pertanto l'host Oracle Identity Cloud Service.

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.ExceptionInitializerError.

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. Inoltre, controllare 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.

Correggere un problema di collegamento in profondità

Dopo l'autenticazione di Oracle Identity Cloud Service, anziché accedere a Oracle E-Business Suite, l'utente viene reindirizzato a Oracle E-Business Suite e richiede all'utente di eseguire di nuovo l'accesso.

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

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

Problemi durante il logout

Se si riscontrano problemi durante il processo di logout, verificare il valore del parametro Post Logout Redirect URL in Oracle Identity Cloud Service e il valore del parametro post.logout.url nel file bridge.properties.

Il parametro post.logout.url nel file bridge.properties è un parametro facoltativo e per impostazione predefinita non è necessario fornire un 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 reindirizzamento dopo il logout per l'applicazione E-Business Suite Asserter in Oracle Identity Cloud Service.

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