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.
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.
- Aprire l'applicazione E-Business Suite Asserter in Oracle Identity Cloud Service e aggiornare il valore dell'URL di reindirizzamento dopo il logout.
- Aprire il file
ebs.war
, aggiornare il filebridge.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.