Problemas conocidos de EBS Asserter

Problemas conocidos por trabajar con EBS Asserter en IAM.

Solución de un error de privilegios insuficientes

Después de la autenticación de IAM, en lugar de obtener acceso a Oracle EBS, se redirige al usuario a EBS con el mensaje de error You have insufficient privileges for the current operation. Se solicita al usuario que vuelva a conectarse.

Por lo general, cuando la aplicación Oracle EBS devuelve este error, significa que la cookie está definida con un dominio incorrecto. Para confirmar esto, compruebe el log de depuración de EBS Asserter, que puede encontrar en <HOME DIR>/ebsasserter.log. Por ejemplo,

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

En este ejemplo, el log de depuración de EBS Asserter muestra que sessionCookieDomain tiene un valor incorrecto, que se define en .oracle.com.

ICX_PARAMETERS.SESSION_COOKIE_DOMAIN no debe estar definido en ningún valor.

  1. Actualice el valor SESSION_COOKIE_DOMAIN en ICX_PARAMETERS
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Defina session_cookie_domain en NULL en ICX_PARAMETERS
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. Reinicie todos los servicios.
  4. Vuelva a probar la incidencia.

Resolver error interno del servidor al cerrar sesión

Cuando se está desconectando de Oracle EBS, el explorador devuelve el mensaje de error Internal Server Error.

Este problema se produce porque hay una versión antigua de AppsLogoutRedirect.java en el lado de Oracle EBS.

Compruebe la cabecera de AppsLogoutRedirect.java en Oracle EBS para ver el número de versión, por ejemplo

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 $

Resuelva esto aplicando la última actualización de parche crítico de Oracle E-Business Suite versión 12 de enero de 2013 o una versión más reciente. Esta actualización crítica permite a AppsLogoutRedirect.java aprovechar los perfiles APPS_SSO y APPS_AUTH_AGENT. Consulte el documento de la base de conocimientos (ID de documento 2379675.1) (julio de 2018) para obtener información sobre cómo aplicar este parche.

Corregir una incidencia de sincronización de hora

Al acceder a la URL de aplicación de EBS Asserter, el flujo de conexión de la aplicación de Oracle EBS ha provocado un error interno del servidor.

El rastreo de cabecera HTTP muestra lo siguiente

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 está definido en 1537715029. Utilice EpochConverter para convertir el tiempo de Unix actual a una fecha y hora en lenguaje humano. De ese modo, la hora de caducidad del token se define en Sunday, September 23, 2018 3:03:49 PM GMT. Sin embargo, la hora del log del dominio de EBS Asserter es Sep 23, 2018 6:53:31,380 PM AST. Tenga en cuenta que la hora del meridiano de Greenwich tiene 4 horas más de la hora estándar del Atlántico. Por ello, la hora se define en Sep 23, 2018 10:53:31 PM GMT.

El sistema en el que se despliega EBS Asserter no está sincronizado a tiempo con IAM y, como resultado, el token transferido por IAM está efectivamente fuera del período de validez y, por lo tanto, el error Token caducado.

Asegúrese de que la fecha y la hora del sistema en el que se implementa EBS Asserter esté sincronizada con los servidores NTP y, por lo tanto, con el host de IAM.

Manejo del error de Java ExceptionInInitializerError

Al acceder a la URL de aplicación de EBS Asserter, la aplicación de Oracle EBS devuelve el error java.lang.ExceptionInInitializerError.

El log de depuración de EBS Asserter muestra el siguiente error de 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

Esto ocurre debido a una configuración incorrecta en el archivo bridge.properties. Verifique el archivo bridge.properties y compruebe que tiene la configuración necesaria. Compruebe también que la ruta especificada en wallet.path en el archivo bridge.properties es válida.

Gestionar el error de Java RuntimeException

Al acceder a la URL de aplicación de EBS Asserter, la aplicación de Oracle EBS devuelve el error java.lang.RuntimeException.

El log de depuración de EBS Asserter muestra el siguiente error de 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)

Para resolver esto, defina el valor ebs.ds.name definido para que sea el mismo que el nombre del origen de datos creado en WebLogic.

Corrección de una incidencia de enlace profundo

Después de la autenticación de IAM, en lugar de obtener acceso a Oracle EBS, se redirige al usuario a EBS con el mensaje de error You have insufficient privileges for the current operation. Se solicita al usuario que vuelva a conectarse.

Esto puede suceder porque el vínculo profundo no funciona.

Compruebe que la propiedad de puente whitelist.urls está configurada. Si la incidencia persiste, especifique los números de puerto explícitamente en la configuración whitelist.urls. Por ejemplo, whitelist.urls=http://ebs.oracle.com:80/OA_HTML….

Además, compruebe el nombre de cookie de ID de JSESSION de la aplicación E-Business Suite Asserter en el archivo weblogic.xml. Si hay alguna otra aplicación web en el WebLogic con el mismo nombre de cookie, causará un conflicto.

Problemas al cerrar sesión

Si se producen incidencias durante el proceso de conexión, verifique el valor del parámetro URL de redirección posterior a la desconexión en IAM y el valor del parámetro post.logout.url en el archivo bridge.properties.

El parámetro post.logout.url en el archivo bridge.properties es opcional y, por defecto, no es necesario proporcionar un valor. Utilice este parámetro para que la aplicación EBS Asserter redirija el explorador de usuario a la URL especificada después de que EBS Asserter termine el proceso de desconexión.

Si está activado, el valor de post.logout.url en el archivo bridge.properties debe coincidir con el valor del parámetro de URL de redirección posterior a la desconexión para la aplicación EBS Asserter en IAM.

  1. Abra la aplicación EBS Asserter en IAM y actualice el valor de URL de redirección posterior a la desconexión.
  2. Abra el archivo ebs.war, actualice el archivo bridge.properties, vuelva a generar el archivo WAR y vuelva a desplegar el archivo en el servidor de WebLogic. Asegúrese de que el valor de este parámetro coincide con el parámetro URL de redirección posterior a la desconexión en IAM.

Error de cliente no válido con fallo de autenticación del cliente

Aparece un error que incluye invalid_client y la autenticación de cliente ha fallado, como este

<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. Compruebe el ID de cliente y el secreto de cliente generados en la aplicación confidencial de IAM.
  2. Vuelva a generar el archivo de cartera con el ID de cliente y el secreto de cliente correctos.
  3. Vuelva a desplegar el archivo asserter.war en los servidores de Weblogic.

Perfiles principales de Oracle EBS no disponibles para editar

Aparece un error que indica que los perfiles principales de Oracle EBS no están disponibles para editar. Para resolver esto:

  1. En Oracle EBS, vaya a la página Administración de Oracle Applications de Oracle EBS. Haga clic en el separador Servicios básicos y, a continuación, en el separador Perfiles.
  2. Cuando la aplicación de Oracle EBS no contiene ningún valor, el botón de edición está desactivado.
  3. Haga clic en Definir perfil e introduzca valores de perfil.

EBS Asserter no se puede conectar con Oracle EBS con un error de autorización

Aparece un mensaje que incluye
The Applications user,
          EBSASSERTER is not authorized to access the database
como esta.
<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.

Este error se produce cuando el usuario de afirmación presente en la aplicación EBS no tiene asignado el rol correcto. Conéctese a la aplicación Oracle EBS y proporcione el rol APPS_CONNECT_SCHEMA al usuario de afirmación.

Uso de Conexión Activa de JDBC para EBS Asserter en Weblogic

EBS Asserter utiliza el servicio JNDI en el servidor WebLogic para crear conexiones de base de datos con la base de datos de Oracle EBS. Con el tiempo, el número de conexiones sigue aumentando y las sesiones inactivas se cierran. Esto hace que el pool de conexiones se llene y que no se puedan realizar nuevas conexiones con Oracle EBS DatabaseThis produzca un error de conexión en 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 reinicio de los servidores WebLogic actúa como una corrección temporal para que el afirmador esté disponible para nuevas conexiones.

La forma de solucionarlo de forma permanente es especificar un valor para Inactive Connection Timeout en la página Origen de Datos JDBC: Configuración: Pool de Conexiones de la Consola de Administración. Cuando se establece un valor para
Inactive
        Connection Timeout
, el servidor WebLogic devuelve forzosamente una conexión al origen de datos cuando no hay actividad en una conexión reservada durante el número de segundos que especifique. Cuando se define en 0 (el valor por defecto), esta función se desactiva.
Para establecer un valor positivo para la
Inactive Connection
        Timeout
:
  1. Conéctese a la consola de administración de Weblogic Server.
  2. Vaya a Orígenes de datos.
  3. Busque el nombre del origen de datos que desea cambiar y haga clic en Origen de datos.
  4. Haga clic en Configurar un pool de conexiones.
  5. Expanda el separador Advanced.
  6. Actualice el Timeout de Conexión Inactiva al nuevo valor.

    Por ejemplo: timeout de conexión inactiva = 900 (15 minutos).

Nota

Estas configuraciones son específicas del entorno de cada cliente. Le recomendamos que realice pruebas de carga en su entorno y ajuste las configuraciones en función de los resultados.

Error de base de datos en EBS Asserter

La conexión de EBS Asserter a la base de datos falla con invalid table name. Por ejemplo,
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.

Este error se debe a una discrepancia de nombre, donde el parámetro ebs.ds.name de bridge.properties no es el mismo que el nombre del origen de datos creado en WebLogic de EBSAsserter.

Para resolver esto, defina el valor ebs.ds.name definido para que sea el mismo que el nombre del origen de datos creado en WebLogic.