Résoudre les problèmes courants

Voici quelques erreurs que vous pouvez rencontrer lors de l'intégration d'Oracle E-Business Suite avec OCI IAM à l'aide de l'asserteur E-Business Suite.

Résoudre une erreur liée à des privilèges insuffisants

Après l'authentification OCI IAM, au lieu d'accéder à Oracle E-Business Suite, l'utilisateur est redirigé vers Oracle E-Business Suite avec le message d'erreur "Vous ne disposez pas de privilèges suffisants pour l'opération en cours" et invite l'utilisateur à se reconnecter.

En règle générale, lorsque l'application Oracle E-Business Suite génère cette erreur, cela signifie que le cookie est défini avec un domaine incorrect. Pour vérifier cela, consultez le journal de débogage de l'assesseur E-Business Suite (<HOME DIR>/ebsasserter.log). Le journal de débogage de l'assesseur E-Business Suite indique que la valeur de sessionCookieDomain est incorrecte. CookieDomain a été défini sur .oracle.com.

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

L'élément ICX_PARAMETERS.SESSION_COOKIE_DOMAIN ne doit être défini sur aucune valeur. Vous devez mettre à jour le paramètre SESSION_COOKIE_DOMAIN dans ICX_PARAMETERS.

  1. Mettez à jour la valeur SESSION_COOKIE_DOMAIN dans ICX_PARAMETERS :
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Définissez session_cookie_domain sur NULL dans ICX_PARAMETERS :
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. Redémarrez tous les services.
  4. Testez à nouveau le problème.

Résoudre une erreur de serveur interne lors de la déconnexion

Lorsque vous déconnectez d'Oracle E-Business Suite, le navigateur génère un message d'erreur "Internal Server Error".

Ce problème était dû à une ancienne version de AppsLogoutRedirect.java côté Oracle E-Business Suite.

Vérifiez l'en-tête de AppsLogoutRedirect.java côté Oracle E-Business Suite :

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 $

Vous devez appliquer la dernière mise à jour des patches critiques d'Oracle E-Business Suite version 12 (janvier 2013 ou supérieur) pour résoudre ce problème. Ce patch critique permet à AppsLogoutRedirect.java d'exploiter les profils APPS_SSO et APPS_AUTH_AGENT. Consultez le document d'information (juillet 2018) (ID document 2379675.1) pour plus de détails sur l'application de ce patch.

Corriger un problème de synchronisation temporelle

Lorsque vous accédez à l'URL de l'application Asserter d'E-Business Suite, le flux de connexion à l'application Oracle E-Business Suite 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

Le journal de domaine Asserter d'E-Business Suite se présente comme suit :

####<Sep 23, 2018 6:53:31,380 PM AST> <Error> <HTTP> <ebshost01.oracle.com>
<AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-
tuning)'> <<WLS Kernel>> <> <0b38f1ae-a3cb-48f6-80d9-00e3f3bdb263-000000a0>
<1537718011380> <[severity-value: 8] [rif: 0] [partition-id: 0] [partition-name:
DOMAIN]> <BEA-101020> <[ServletContext@44159983[app:ebs module:ebs.war
path:null spec-version:3.1]] Servelet failed with an Exception

Le journal d'assertion E-Business Suite se présente comme suit :

FINE: validateToken return with result {"user_result":"America\/New_York",
"at_hash":"1A3gT4BT0WoWCTLE3IFa5A","sub":"john.doe@oracle.com","user_locale":"en",
"idp_name":"localIDP","idp_guid":"localIDP","a mr":["USERNAME_PASSWORD"],
"iss":"https: \/\/identity.oraclecloud.com\/","user_tenantname":"idcs-a61feab148e248508205cd98cdea4232",
"client_id":"67179f2609ab46309a75e5ca1f582a53","sid":"18ee87ea-04cf-4469-a565-48ccc763caf9",
"authn_strength":"2","azp":"67179f2609ab46309a75e5ca1f582a53","auth_time":"1536180435",
"session_exp":1537715029,"user_lang":"en","exp":1536209235,"iat":1536180437"idp_type":"LOCAL",
"tenant":"idcs-a61feab148e248508205cd98cdea4232","jti":"ed7be32b-d4e1-4e72-9868-6df142f07c6b",
"user_displayname":"John Doe","sub_mappingattr":"userName","tok_type":"IT",
"aud":["https:\/\/identity.oraclecloud.com\/","67179f2609ab46309a75e5ca1f582a53"],
"user_id":"63bf3d3f96094a66a6b7714218338116"}

session_exp est défini sur 1537715029. Utilisez EpochConverter pour convertir l'heure de la période Unix en cours en une date et une heure lisibles par l'utilisateur. Par conséquent, l'heure d'expiration dans le jeton est définie sur Sunday, September 23, 2018 3:03:49 PM GMT. Toutefois, l'heure dans le journal de domaine de l'assesseur E-Business Suite est Sep 23, 2018 6:53:31,380 PM AST. Notez que l'heure de Greenwich est 4 heures avant l'heure normale de l'Atlantique. Par conséquent, l'heure définie est Sep 23, 2018 10:53:31 PM GMT. Le système sur lequel l'assesseur E-Business Suite est déployé n'est pas synchronisé à temps avec OCI IAM. Par conséquent, le jeton transmis par OCI IAM est en réalité en dehors de la période de validité, d'où l'erreur "Jeton expiré".

Assurez-vous que la date et l'heure du système sur lequel l'assesseur E-Business Suite est déployé sont synchronisées avec les serveurs NTP, et donc avec l'hôte OCI IAM.

Gérer l'erreur Java ExceptionInInitializerError

Lorsque vous accédez à l'URL de l'application Asserter d'E-Business Suite, l'application Oracle E-Business Suite génère l'erreur java.lang.ExceptionInInitializerError.

Le journal de débogage d'E-Business Suite Asserter 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 dispose de la configuration requise. Vérifiez également que le chemin indiqué dans wallet.path dans le fichier bridge.properties est valide.

Gérer l'erreur Java RuntimeException

Lorsque vous accédez à l'URL de l'application Asserter d'E-Business Suite, l'application Oracle E-Business Suite génère java.lang.RuntimeException.

Le journal de débogage d'E-Business Suite Asserter 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)

Vérifiez que l'ensemble de valeurs ebs.ds.name correspond au nom de source de données créé dans WebLogic.

Résoudre un problème de lien profond

Après l'authentification OCI IAM, au lieu d'accéder à Oracle E-Business Suite, l'utilisateur est redirigé vers Oracle E-Business Suite et invite l'utilisateur à se reconnecter.

Cela se produit 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…. Vous pouvez également vérifier le nom du cookie d'ID JSESSION de l'application Asserter E-Business Suite dans le fichier weblogic.xml. S'il existe une autre application Web dans le fichier WebLogic avec le même nom de cookie, elle sera en conflit.

Problèmes lors de la déconnexion

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

Le fichier post.logout.url du fichier bridge.properties est un paramètre facultatif. Par défaut, vous n'avez pas besoin de fournir de valeur. Utilisez ce paramètre pour que l'application Asserter d'E-Business Suite redirige le navigateur de l'utilisateur vers l'URL spécifiée une fois que l'Asserter d'E-Business Suite 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 réacheminement après déconnexion pour l'application Asserter E-Business Suite dans OCI IAM.

  1. Ouvrez l'application Asserter E-Business Suite dans OCI IAM et mettez à jour la valeur URL de réacheminement 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 sur le serveur WebLogic. Assurez-vous que la valeur de ce paramètre correspond au paramètre URL de réacheminement après déconnexion dans OCI IAM.