Problèmes connus relatifs à l'assesseur EBS
Problèmes connus relatifs à l'utilisation de l'assesseur EBS 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 règle générale, lorsque l'application Oracle EBS génère cette erreur, cela signifie que le cookie est défini avec un domaine incorrect. Pour confirmer cela, consultez le journal de débogage de l'assesseur EBS, disponible à 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 indique que la valeur de sessionCookieDomain
est incorrecte, étant définie sur .oracle.com
.
La valeur ICX_PARAMETERS.SESSION_COOKIE_DOMAIN
ne doit être définie sur aucune valeur.
- Mettez à jour le paramètre
SESSION_COOKIE_DOMAIN
dansICX_PARAMETERS
SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS; SESSION_COOKIE_DOMAIN ------------------------------ .oracle.com
- Définissez
session_cookie_domain
surNULL
dansICX_PARAMETERS
update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL; commit;
- Redémarrez tous les services.
- Testez à nouveau le problème.
Résoudre une erreur de 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 survient car il existe une ancienne version de AppsLogoutRedirect.java
côté Oracle EBS.
Vérifiez l'en-tête de 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 $
Pour résoudre ce problème, appliquez la dernière mise à jour de patch critique Oracle E-Business Suite version 12 (janvier 2013) ou une version plus récente. Cette mise à jour des patches critiques permet à AppsLogoutRedirect.java
d'exploiter les profils APPS_SSO
et APPS_AUTH_AGENT
. Pour plus d'informations sur l'application de ce patch, consultez le document de la base de connaissances (juillet 2018) (ID de document 2379675.1).
Résolution d'un problème de synchronisation temporelle
Lorsque vous accédez à l'URL de l'application d'assesseur EBS, le flux de connexion à 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
session_exp
est défini sur 1537715029
. Utilisez EpochConverter
pour convertir la période Unix en date et heure lisibles par l'utilisateur. Par conséquent, le délai d'expiration dans le jeton est défini sur Sunday, September 23, 2018 3:03:49 PM GMT
. Cependant, l'heure dans le journal de domaine de l'assesseur EBS est Sep 23, 2018 6:53:31,380 PM AST
. L'heure de Greenwich est antérieure de 4 heures à l'heure normale de l'Atlantique. L'heure définie est donc Sep 23, 2018 10:53:31 PM GMT
.
Le système sur lequel l'assesseur EBS est déployé n'est pas en synchronisation temporelle avec IAM et, par conséquent, le jeton transmis par IAM est en dehors de la période de validité et, par conséquent, l'erreur Jeton arrivé à expiration.
Assurez-vous que la date et l'heure du système sur lequel 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'application d'assesseur EBS, l'application Oracle EBS génère l'erreur java.lang.ExceptionInInitializerError
.
Le journal de débogage de l'assesseur 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
Elle survient en raison de paramètres incorrects dans le fichier bridge.properties
. Vérifiez le fichier bridge.properties
et assurez-vous qu'il présente la configuration requise. Vérifiez également que le chemin indiqué dans wallet.path
dans le fichier bridge.properties
est valide.
Traitement de l'erreur Java RuntimeException
Lorsque vous accédez à l'URL de l'application d'assesseur EBS, l'application Oracle EBS génère l'erreur java.lang.RuntimeException
.
Le journal de débogage de l'assesseur 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, définissez le jeu de valeurs ebs.ds.name
sur la même valeur que le nom de source de données créé dans WebLogic.
Résolution d'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 arriver 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, indiquez 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 de cookie JSESSION ID de l'application d'assesseur E-Business Suite dans le fichier weblogic.xml
. S'il existe une autre application Web dans WebLogic avec le même nom de cookie, cela provoquera 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 réacheminement après déconnexion dans IAM et la valeur du paramètre post.logout.url
dans le fichier bridge.properties
.
Le paramètre post.logout.url
dans le fichier bridge.properties
est facultatif et, par défaut, vous n'avez pas besoin de fournir de valeur. Utilisez ce paramètre pour que l'application d'assesseur EBS redirige le navigateur utilisateur vers l'URL indiqué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 d'URL de réacheminement post-déconnexion pour l'application d'assesseur EBS dans IAM.
- Ouvrez l'application d'assesseur EBS dans IAM et mettez à jour la valeur de l'URL de réacheminement après la déconnexion.
- Ouvrez le fichier
ebs.war
, mettez à jour le fichierbridge.properties
, régénérez le fichier WAR et redéployez-le vers le serveur WebLogic. Assurez-vous que la valeur de ce paramètre correspond au paramètre URL de réacheminement post-déconnexion dans IAM.
Erreur de client non valide : échec de l'authentification du client
Vous obtenez une erreur qui inclut invalid_client et l'échec de l'authentification du client, 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"}
- Vérifiez l'ID client et la clé secrète du client générés dans l'application confidentielle IAM.
- Régénérez le fichier de portefeuille à l'aide de l'ID client et de la clé secrète client corrects.
- Redéployez le fichier
asserter.war
sur les serveurs Weblogic.
Les profils principaux Oracle EBS ne peuvent pas être modifiés
Vous obtenez une erreur indiquant que les profils principaux Oracle EBS ne sont pas disponibles pour modification. Pour résoudre ce problème :
- Dans Oracle EBS, accédez à la page Administration des applications Oracle d'Oracle EBS. Cliquez sur l'onglet Services de base, puis sur l'onglet Profils.
- Lorsque l'application Oracle EBS ne contient aucune valeur, le bouton Modifier est désactivé.
- Cliquez sur Définir un profil et entrez des valeurs de profil.
Impossible de se connecter à Oracle EBS avec l'assesseur EBS avec une erreur d'autorisation
The Applications user,
EBSASSERTER is not authorized to access the database
<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 se produit lorsque le rôle approprié n'a pas été affecté à l'utilisateur asserteur présent dans l'application EBS. Connectez-vous à l'application Oracle EBS et attribuez 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 au sein 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 ne cesse d'augmenter et les sessions inactives sont fermées. Cela entraîne le remplissage du pool de connexions et l'impossibilité d'établir de nouvelles connexions avec Oracle EBS DatabaseThis entraîne une erreur de connexion au niveau de 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.
Inactive Connection Timeout
dans la page Source de données JDBC : Configuration : Pool de connexions de la console d'administration. Lorsque vous définissez une valeur pour Inactive
Connection Timeout
0
(valeur par défaut), cette fonctionnalité est désactivée.Inactive Connection
Timeout
- Connectez-vous à la console d'administration du serveur Weblogic.
- Accédez à Sources de données.
- Recherchez le nom de la source de données à modifier, puis cliquez sur Source de données.
- Cliquez sur Configurer un pool de connexions.
- Développez l'onglet Advanced.
- Mettez à jour le délai d'expiration de connexion inactive sur la nouvelle valeur.
Par exemple : Inactive Connection Timeout = 900 (15 minutes).
Ces configurations sont spécifiques à 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
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, définissez le jeu de valeurs ebs.ds.name
sur la même valeur que le nom de source de données créé dans WebLogic.