Problemi noti valutatore EBS

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

Risolvere un errore di privilegi insufficienti

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

In genere, quando l'applicazione Oracle EBS genera questo errore, significa che il cookie è impostato con un dominio errato. Per confermarlo, controllare il log di debug di EBS Asserter, disponibile all'indirizzo <HOME DIR>/ebsasserter.log. 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 EBS Asserter mostra che il valore sessionCookieDomain non è corretto e viene 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 nel file 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 genera un messaggio di errore Internal Server Error.

Questo problema si verifica perché è presente una versione precedente di AppsLogoutRedirect.java sul 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 delle patch critiche di Oracle E-Business Suite release 12 più recente, 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).

Correggere un problema di sincronizzazione temporale

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

Il trace dell'intestazione HTTP è simile a questo

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 valore session_exp viene impostato su 1537715029. Utilizzare EpochConverter per convertire l'ora dell'epoca Unix corrente 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. L'ora impostata è quindi Sep 23, 2018 10:53:31 PM GMT.

Il sistema in cui viene distribuito l'Asserter EBS 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 viene 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 genera 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, 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 EBS Asserter, l'applicazione Oracle EBS genera 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 il problema, impostare il set di valori ebs.ds.name in modo che corrisponda al nome dell'origine dati creato in WebLogic.

Correggi un problema di Deep Link

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

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

Controllare che la proprietà del 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, controllare il nome cookie ID JSESSION dell'applicazione E-Business Suite Asserter nel file weblogic.xml. Se esiste un'altra applicazione Web nel file WebLogic con lo stesso nome cookie, si verificherà un conflitto.

Problemi durante la disconnessione

Se si riscontrano problemi durante il processo di scollegamento, 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 valore 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 avrà terminato il processo di scollegamento.

Se abilitato, il valore del file post.logout.url nel file bridge.properties deve corrispondere al valore del parametro URL di reindirizzamento successivo al logout per l'applicazione EBS Asserter 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 nel server WebLogic. Assicurarsi che il valore di questo parametro corrisponda al parametro URL di reindirizzamento dopo il 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 e il segreto client generati nell'applicazione riservata IAM.
  2. Rigenerare il file wallet utilizzando l'ID client e il segreto client corretti.
  3. Ridistribuire il file asserter.war sui server Weblogic.

Profili di base di Oracle EBS non disponibili per la modifica

Viene visualizzato un errore che indica che i profili di base di Oracle EBS non sono disponibili per la modifica. Per risolvere questo problema:

  1. In Oracle EBS, andare alla pagina Oracle Applications Administration in Oracle EBS. Selezionare la scheda Servizi di base, quindi selezionare la scheda Profili.
  2. Se 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 questa.
<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 Asserter presente nell'applicazione EBS non è stato assegnato il ruolo corretto. Accedere all'applicazione Oracle EBS e fornire il ruolo APPS_CONNECT_SCHEMA all'utente Asserter.

Uso della connessione attiva JDBC per EBS Asserter su Weblogic

L'Asserter EBS 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. In questo modo, il connection pool si riempie e non è possibile stabilire nuove connessioni con Oracle EBS DatabaseThis causa 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 disponibile Asserter per le nuove connessioni.

Per risolvere questo problema in modo permanente, 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 sono attività su una connessione riservata per il numero di secondi specificato. Quando è impostata su 0 (il valore predefinito), questa funzione è disattivata.
Per impostare un valore positivo per
Inactive Connection
        Timeout
:
  1. Collegarsi alla console di amministrazione di Weblogic Server.
  2. Passare 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 valore Timeout connessione inattivo 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 in EBS Asserter

La connessione di EBS Asserter al database non riesce con invalid table name. 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.

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

Per risolvere il problema, impostare il set di valori ebs.ds.name in modo che corrisponda al nome dell'origine dati creato in WebLogic.