Problemi noti assertore EBS

Problemi noti per l'utilizzo di EBS Asserter in IAM.

Errore risoluzione privilegi insufficienti

Dopo l'autenticazione IAM, invece di ottenere l'accesso a Oracle EBS, l'utente viene reindirizzato a EBS con il messaggio di errore You have insufficient privileges for the current operation. Viene richiesto all'utente di eseguire di nuovo l'accesso.

In genere, quando l'applicazione Oracle EBS restituisce questo errore, significa che il cookie è impostato con un dominio errato. Per confermare, controllare il log di debug di EBS Asserter, disponibile all'indirizzo <HOME DIR>/ebsasserter.log. Ad esempio

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

In questo esempio, il log di debug di Asserter EBS mostra che sessionCookieDomain ha un valore errato, impostato su .oracle.com.

Il valore ICX_PARAMETERS.SESSION_COOKIE_DOMAIN non deve essere impostato su alcun valore.

  1. Aggiornare l'impostazione 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.

Risolvi errore interno del server durante il logout

Quando si esegue il logout da Oracle EBS, il browser restituisce un messaggio di errore Internal Server Error.

Questo problema si verifica perché esiste una versione precedente di AppsLogoutRedirect.java nel lato Oracle EBS.

Controllare l'intestazione per AppsLogoutRedirect.java in Oracle EBS per visualizzare il numero di versione, ad esempio

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 $

Risolvere questo problema applicando l'aggiornamento di patch critiche più recente di Oracle E-Business Suite Release 12 gennaio 2013 o una versione più recente. Questo aggiornamento di patch critiche consente a AppsLogoutRedirect.java di utilizzare i profili APPS_SSO e APPS_AUTH_AGENT. Per informazioni su come applicare questa patch, consultare il documento informativo (luglio 2018) (ID documento 2379675.1).

Correggi un problema di sincronizzazione temporale

Durante l'accesso all'URL dell'applicazione Asserter EBS, il flusso di accesso dell'applicazione Oracle EBS ha generato un errore interno del server.

La traccia dell'intestazione HTTP è simile a questa

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

session_exp è impostato su 1537715029. Utilizzare EpochConverter per convertire l'ora corrente di Unix in una data e ora leggibili dall'utente. Pertanto, l'ora di scadenza nel token è impostata su Sunday, September 23, 2018 3:03:49 PM GMT. Tuttavia, l'ora nel log del dominio EBS Asserter è Sep 23, 2018 6:53:31,380 PM AST. Si noti che il tempo medio di Greenwich è 4 ore prima dell'ora standard dell'Atlantico. Quindi l'orario impostato è Sep 23, 2018 10:53:31 PM GMT.

Il sistema in cui viene distribuito EBS Asserter non è sincronizzato in tempo con IAM e, di conseguenza, il token passato da IAM è effettivamente fuori dal periodo di validità e quindi l'errore Token scaduto.

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

Gestisci errore Java ExceptionInInitializerError

Durante l'accesso all'URL dell'applicazione EBS Asserter, l'applicazione Oracle EBS restituisce l'errore java.lang.ExceptionInInitializerError.

Il log di debug di EBS 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, verificare che il percorso specificato in wallet.path nel file bridge.properties sia valido.

Gestisci errore Java RuntimeException

Durante l'accesso all'URL dell'applicazione EBS Asserter, l'applicazione Oracle EBS restituisce l'errore java.lang.RuntimeException.

Il log di debug di EBS 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)

Per risolvere questo problema, impostare il set di valori ebs.ds.name sullo stesso valore del nome dell'origine dati creato in WebLogic.

Risoluzione di un problema relativo a Deep Link

Dopo l'autenticazione IAM, invece di ottenere l'accesso a Oracle EBS, l'utente viene reindirizzato a EBS con il messaggio di errore You have insufficient privileges for the current operation. Viene richiesto all'utente di eseguire di nuovo l'accesso.

Questo può accadere perché il deep link non funziona.

Verificare che la proprietà bridge whitelist.urls sia configurata. Se il problema persiste, specificare esplicitamente i numeri di porta nella configurazione whitelist.urls. Ad esempio, whitelist.urls=http://ebs.oracle.com:80/OA_HTML….

Controllare inoltre il nome cookie ID JSESSION dell'applicazione E-Business Suite Asserter nel file weblogic.xml. Se nel sito WebLogic è presente un'altra applicazione Web con lo stesso nome cookie, si verificherà un conflitto.

Problemi durante la disconnessione

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

Il file 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 EBS Asserter reindirizzi il browser utente all'URL specificato dopo che EBS Asserter ha terminato il processo di scollegamento.

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

  1. Aprire l'applicazione EBS Asserter in IAM 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 sul server WebLogic. Assicurarsi che il valore di questo parametro corrisponda al parametro URL di reindirizzamento successivo al logout in IAM.

Errore client non valido con autenticazione client non riuscita

Si è verificato un errore che includeva l'autenticazione invalid_client e client non riuscita, ad esempio

<Error> <oracle.security.jps.idcsbinding.shared.AuthenticationManagerImpl> <BEA-000000> <getting error from server>

oracle.security.jps.idcsbinding.shared.AuthenticationManagerImpl clientCredentials

SEVERE: {"error":"invalid_client","error_description":"Client authentication failed.","ecid":"xxxx-xxxx-xxxx-xxxx-xxxx-xxxx"}
  1. Controllare l'ID client e il segreto client generati nell'applicazione riservata IAM.
  2. Rigenera il file wallet utilizzando l'ID client e il segreto client corretti.
  3. Ridistribuire il file asserter.war sui server Weblogic.

Profili di base Oracle EBS non disponibili per la modifica

Si riceve un errore che indica che i profili di base di Oracle EBS non sono disponibili per la modifica. Per risolvere questo problema, eseguire le operazioni riportate di seguito.

  1. In Oracle EBS, andare alla pagina Amministrazione Oracle Applications in Oracle EBS. Selezionare la scheda Servizi di base, quindi selezionare la scheda Profili.
  2. Quando l'applicazione Oracle EBS non contiene alcun valore, il pulsante Modifica viene disabilitato.
  3. Selezionare Definisci profilo e immettere i valori del profilo.

Asserter EBS non in grado di connettersi a Oracle EBS con errore di autorizzazione

Viene visualizzato un messaggio che include
The Applications user,
          EBSASSERTER is not authorized to access the database
come questo.
<Error> <Deployer> <wahatast> <AdminServer> <[STANDBY] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <c596f25b-e3d0-42e2-81a9-682c623d2d1c-00000162> <1677049594045> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149265> 
<Failure occurred in the execution of deployment request with ID "24806329095989206" for task "weblogic.deploy.configChangeTask.2" on [partition-name: DOMAIN]. 
Error is: "weblogic.application.ModuleException: weblogic.common.ResourceException: ORA-20001: Oracle error -20001: The Applications user, EBSASSERTER is not authorized to access the database. has been detected in FND_SECURITY_PKG.FND_ENCRYPTED_PWD_X.

Questo errore si verifica quando all'utente assertore presente nell'applicazione EBS non è stato assegnato il ruolo corretto. Accedere all'applicazione Oracle EBS e fornire il ruolo APPS_CONNECT_SCHEMA all'utente assertore.

Uso connessione attiva JDBC per Asserter EBS in Weblogic

EBS Asserter utilizza il servizio JNDI all'interno del server WebLogic per creare connessioni DB con il database Oracle EBS. Nel tempo, il numero di connessioni continua ad aumentare e le sessioni inattive vengono chiuse. Ciò porta al completamento del connection pool e l'impossibilità di stabilire nuove connessioni con Oracle EBS DatabaseThis comporta un errore di connessione in EBS Asserter.

<Error> <HTTP> <BEA-101017> <[ServletContext@784524422[app:ebs module:ebs.war path:null spec-version:3.1]] Root cause of ServletException.
weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool PAVCRIDS to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:280)
at weblogic.jdbc.pool.Driver.connect(Driver.java:154)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:665)
at weblogic.jdbc.jts.Driver.connect(Driver.java:129)
at weblogic.jdbc.common.internal.WLDataSourceImpl.getConnectionInternal(WLDataSourceImpl.java:655)

Un riavvio dei server WebLogic funge da correzione temporanea per rendere l'asseritore disponibile per le nuove connessioni.

La soluzione definitiva consiste nel specificare un valore per Inactive Connection Timeout nella pagina Origine dati JDBC: Configurazione: Connection pool nella console di amministrazione. Quando si imposta un valore per
Inactive
        Connection Timeout
, il server WebLogic restituisce forzatamente una connessione all'origine dati quando non vi è alcuna attività su una connessione riservata per il numero di secondi specificato. Se impostata su 0 (valore predefinito), questa funzione viene disattivata.
Per impostare un valore positivo per
Inactive Connection
        Timeout
:
  1. Accedere alla console di amministrazione di Weblogic Server.
  2. Andare a Origini dati.
  3. Cercare il nome dell'origine dati che si desidera modificare e selezionare Origine dati.
  4. Selezionare Configura un connection pool.
  5. Espandere la scheda Avanzate.
  6. Aggiornare il Timeout connessione inattiva al nuovo valore.

    Ad esempio: Timeout connessione inattiva = 900 (15 minuti).

Nota

Queste configurazioni sono specifiche dell'ambiente di ciascun cliente. Si consiglia di eseguire il test del carico nel proprio ambiente e di ottimizzare le configurazioni in base ai risultati.

Errore del database nell'assertore EBS

La connessione di EBS Asserter al database non riesce con invalid table name. Ad esempio
Test "select count * from select 1 from fnd_nodes;" set up for pool "EbsDS1" failed with exception: "java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name.

Questo errore è dovuto a una mancata corrispondenza del nome, in cui il parametro ebs.ds.name in bridge.properties non è uguale al nome dell'origine dati creata in WebLogic di EBSAsserter.

Per risolvere questo problema, impostare il set di valori ebs.ds.name sullo stesso valore del nome dell'origine dati creato in WebLogic.