Problèmes connus liés à l'assesseur EBS

Problèmes connus liés à l'utilisation d'EBS Asserter dans IAM.

Résoudre une erreur de privilèges insuffisants

Après l'authentification IAM, au lieu d'obtenir l'accès à Oracle EBS, l'utilisateur est redirigé vers EBS avec le message d'erreur You have insufficient privileges for the current operation. L'utilisateur est invité à se reconnecter.

En général, lorsque l'application Oracle EBS génère cette erreur, cela signifie que le témoin est défini avec un domaine incorrect. Pour confirmer cela, consultez le journal de débogage de l'assesseur EBS, que vous pouvez trouver à l'adresse <HOME DIR>/ebsasserter.log. Par exemple

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

Dans cet exemple, le journal de débogage de l'assesseur EBS montre que sessionCookieDomain a une valeur incorrecte, réglée à .oracle.com.

ICX_PARAMETERS.SESSION_COOKIE_DOMAIN ne doit être réglé à aucune valeur.

  1. Mettez à jour le paramètre SESSION_COOKIE_DOMAIN dans ICX_PARAMETERS
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Réglez session_cookie_domain à NULL dans ICX_PARAMETERS
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. Redémarrez tous les services.
  4. Testez de nouveau le problème.

Erreur de résolution du serveur interne lors de la déconnexion

Lorsque vous êtes déconnecté d'Oracle EBS, le navigateur génère un message d'erreur Internal Server Error.

Ce problème se produit parce qu'il existe une ancienne version de AppsLogoutRedirect.java côté Oracle EBS.

Vérifiez l'en-tête AppsLogoutRedirect.java dans Oracle EBS pour voir le numéro de version, par exemple

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 $

Résolvez cela en appliquant le dernier correctif essentiel d'Oracle E-Business Suite version 12, janvier 2013, ou une version plus récente. Cette mise à jour critique permet à AppsLogoutRedirect.java d'exploiter les profils APPS_SSO et APPS_AUTH_AGENT. Consultez le document de connaissances (juillet 2018) (ID document 2379675.1) pour plus d'informations sur la façon d'appliquer ce correctif.

Corriger un problème de synchronisation des heures

Lorsque vous accédez à l'URL de l'application d'assesseur EBS, le flux de connexion de l'application Oracle EBS a généré une erreur de serveur interne.

La trace d'en-tête HTTP se présente comme suit

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

La valeur session_exp est réglée à 1537715029. Utilisez EpochConverter pour convertir l'heure Unix courante en date et heure lisibles par l'homme. Par conséquent, l'heure d'expiration du jeton est réglée à Dimanche 23 septembre 2018 3:03:49 PM GMT. Toutefois, l'heure dans le journal de domaine de l'assesseur EBS est Sep 23, 2018 6:53:31,380 PM AST. Notez que l'heure de Greenwich est 4 heures avant l'heure standard de l'Atlantique. L'heure réglée est donc 23 septembre 2018 10:53:31 PM GMT.

Le système où l'assesseur EBS est déployé n'est pas synchronisé dans le temps avec IAM et, par conséquent, le jeton transmis par IAM est effectivement hors de la période de validité et, par conséquent, l'erreur Jeton expiré.

Assurez-vous que la date et l'heure sur le système où l'assesseur EBS est déployé sont synchronisées avec les serveurs NTP, et donc l'hôte IAM.

Gérer l'erreur Java ExceptionInInitializerError

Lorsque vous accédez à l'URL de l'assesseur EBS, l'application Oracle EBS génère l'erreur java.lang.ExceptionInInitializerError.

Le journal de débogage de l'assistant EBS affiche l'erreur Java suivante

<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

Cela se produit en raison de paramètres incorrects dans le fichier bridge.properties. Vérifiez le fichier bridge.properties et assurez-vous qu'il comporte la configuration requise. Vérifiez également que le chemin spécifié dans wallet.path dans le fichier bridge.properties est valide.

Gérer l'erreur Java RuntimeException

Lorsque vous accédez à l'URL de l'assesseur EBS, l'application Oracle EBS génère l'erreur java.lang.RuntimeException.

Le journal de débogage de l'assistant EBS affiche l'erreur Java suivante

<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)

Pour résoudre ce problème, réglez le jeu de valeurs ebs.ds.name à un nom de source de données identique à celui créé dans WebLogic.

Corriger un problème de lien profond

Après l'authentification IAM, au lieu d'obtenir l'accès à Oracle EBS, l'utilisateur est redirigé vers EBS avec le message d'erreur You have insufficient privileges for the current operation. L'utilisateur est invité à se reconnecter.

Cela peut se produire parce que le lien profond ne fonctionne pas.

Vérifiez que la propriété de pont whitelist.urls est configurée. Si le problème persiste, spécifiez les numéros de port explicitement dans la configuration whitelist.urls. Par exemple, whitelist.urls=http://ebs.oracle.com:80/OA_HTML….

Vérifiez également le nom du témoin de l'ID JSESSION de l'assesseur E-Business Suite dans le fichier weblogic.xml. S'il existe une autre application Web dans WebLogic avec le même nom de témoin, cela causera un conflit.

Problèmes lors de la déconnexion

Si vous rencontrez des problèmes au cours du processus de déconnexion, vérifiez la valeur du paramètre URL de redirection après déconnexion dans IAM et la valeur du paramètre post.logout.url dans le fichier bridge.properties.

Le post.logout.url du fichier bridge.properties est un paramètre facultatif. Par défaut, vous n'avez pas besoin de fournir de valeur. Vous utilisez ce paramètre pour que l'application EBS Asserter redirige le navigateur de l'utilisateur vers l'URL spécifiée une fois que l'assesseur EBS a terminé le processus de déconnexion.

Si cette option est activée, la valeur de post.logout.url dans le fichier bridge.properties doit correspondre à la valeur du paramètre URL de redirection après déconnexion pour l'application d'assesseur EBS dans IAM.

  1. Ouvrez l'application d'assesseur EBS dans IAM et mettez à jour la valeur de l'URL de redirection après déconnexion.
  2. Ouvrez le fichier ebs.war, mettez à jour le fichier bridge.properties, régénérez le fichier war et redéployez le fichier sur le serveur WebLogic. Assurez-vous que la valeur de ce paramètre correspond au paramètre URL de redirection après déconnexion dans GIA.

Erreur de client non valide lors de l'authentification du client

Vous obtenez une erreur incluant invalid_client et l'authentification du client a échoué, par exemple :

<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. Vérifiez l'ID client et la clé secrète client générés dans l'application confidentielle IAM.
  2. Régénérez le fichier de portefeuille à l'aide de l'ID client et de la clé secrète client corrects.
  3. Redéployez le fichier asserter.war sur les serveurs Weblogic.

Profils de base Oracle EBS non disponibles pour modification

Vous obtenez une erreur indiquant que les profils de base Oracle EBS ne sont pas disponibles pour modification. Pour résoudre ce qui suit :

  1. Dans Oracle EBS, allez à la page Oracle Applications Administration dans Oracle EBS. Sélectionnez l'onglet Services de base, puis sélectionnez l'onglet Profils.
  2. Lorsque l'application Oracle EBS ne contient aucune valeur, le bouton Modifier est désactivé.
  3. Sélectionnez Définir un profil et entrez des valeurs de profil.

L'assesseur EBS n'a pas pu se connecter à Oracle EBS avec une erreur d'autorisation

Vous obtenez un message qui inclut :
The Applications user,
          EBSASSERTER is not authorized to access the database
comme celle-ci.
<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.

Cette erreur survient lorsque le rôle correct n'a pas été affecté à l'utilisateur asserteur présent dans l'application EBS. Connectez-vous à l'application Oracle EBS et fournissez le rôle APPS_CONNECT_SCHEMA à l'utilisateur asserteur.

Utilisation de la connexion active JDBC pour l'assesseur EBS sur Weblogic

L'assesseur EBS utilise le service JNDI du serveur WebLogic pour créer des connexions de base de données avec la base de données Oracle EBS. Au fil du temps, le nombre de connexions augmente et les sessions inactives sont fermées. Cela entraîne le remplissage de la réserve de connexions et l'impossibilité d'établir de nouvelles connexions avec Oracle EBS DatabaseThis entraîne une erreur de connexion à l'assesseur EBS.

<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 redémarrage des serveurs WebLogic agit comme un correctif temporaire pour rendre l'assesseur disponible pour les nouvelles connexions.

Pour corriger ce problème de manière permanente, spécifiez une valeur pour Inactive Connection Timeout dans la page JDBC Data Source : Configuration : Connection Pool de la console d'administration. Lorsque vous définissez une valeur pour
Inactive
        Connection Timeout
, le serveur WebLogic retourne de force une connexion à la source de données lorsqu'il n'y a aucune activité sur une connexion réservée pendant le nombre de secondes que vous spécifiez. Lorsque cette option est réglée à 0 (valeur par défaut), cette fonction est désactivée.
Pour définir une valeur positive pour
Inactive Connection
        Timeout
:
  1. Connectez-vous à la console d'administration du serveur Weblogic.
  2. Allez à Sources de données.
  3. Recherchez le nom de la source de données à modifier et sélectionnez Source de données.
  4. Sélectionnez Configurer une réserve de connexions.
  5. Développez l'onglet Advanced.
  6. Mettez à jour la temporisation de connexion inactive avec la nouvelle valeur.

    Par exemple : Temporisation de connexion inactive = 900 (15 minutes).

Note

Ces configurations sont propres à l'environnement de chaque client. Nous vous recommandons d'effectuer des tests de charge dans leur environnement et de régler vos configurations en fonction des résultats.

Erreur de base de données dans l'assesseur EBS

La connexion de l'assesseur EBS à la base de données échoue avec invalid table name. Par exemple
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.

Cette erreur est due à une non-concordance de nom, où le paramètre ebs.ds.name dans bridge.properties n'est pas identique au nom de la source de données créée dans WebLogic d'EBSAsserter.

Pour résoudre ce problème, réglez le jeu de valeurs ebs.ds.name à un nom de source de données identique à celui créé dans WebLogic.