Bekannte Probleme bei EBS Asserter
Bekannte Probleme bei der Arbeit mit EBS Asserter in IAM.
Fehler wegen nicht ausreichenden Berechtigungen lösen
Nach der IAM-Authentifizierung wird der Benutzer mit der Fehlermeldung You have insufficient privileges for the current operation. zurück zu EBS umgeleitet, anstatt Zugriff auf Oracle EBS zu erhalten. Der Benutzer wird aufgefordert, sich erneut anzumelden.
Wenn die Oracle EBS-Anwendung diesen Fehler auslöst, bedeutet dies im Allgemeinen, dass das Cookie mit einer falschen Domain gesetzt wurde. Um dies zu bestätigen, prüfen Sie das EBS Asserter-Debuglog, das Sie unter <HOME DIR>/ebsasserter.log finden. Beispiel
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_HINTIn diesem Beispiel zeigt das EBS Asserter-Debuglog, dass die sessionCookieDomain einen falschen Wert aufweist, der auf .oracle.com gesetzt ist.
ICX_PARAMETERS.SESSION_COOKIE_DOMAIN darf nicht auf einen Wert gesetzt werden.
- Aktualisieren Sie die Einstellung
SESSION_COOKIE_DOMAINinICX_PARAMETERS.SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS; SESSION_COOKIE_DOMAIN ------------------------------ .oracle.com - Setzen Sie
session_cookie_domaininICX_PARAMETERSaufNULL.update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL; commit; - Starten Sie alle Services erneut.
- Testen Sie das Problem neu.
Internen Serverfehler beim Abmelden beheben
Wenn Sie sich von Oracle EBS abmelden, gibt der Browser die Fehlermeldung Internal Server Error aus.
Dieses Problem tritt auf, weil auf der Oracle-EBS-Seite eine alte Version von AppsLogoutRedirect.java vorhanden ist.
Prüfen Sie den Header auf AppsLogoutRedirect.java in Oracle EBS, um die Versionsnummer anzuzeigen. Beispiel:
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 $Beheben Sie das Problem, indem Sie das neueste kritische Patchupdate von Oracle E-Business Suite Release 12 Jan 2013 oder eine neuere Version einspielen. Mit diesem kritischen Patchupdate kann die AppsLogoutRedirect.java die Profile APPS_SSO und APPS_AUTH_AGENT verwenden. Informationen zum Einspielen dieses Patches finden Sie im Knowledge Document (Juli 2018) (Dok.-ID 2379675.1).
Zeitsynchronisierungsproblem lösen
Während Sie auf die EBS Asserter-Anwendungs-URL zugreifen, führte der Anmeldeablauf der Oracle EBS-Anwendung zu einem internen Serverfehler.
Das HTTP-Headertrace sieht wie folgt aus
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 requestsession_exp ist auf 1537715029 gesetzt. Verwenden Sie EpochConverter, um die aktuelle Unix-Epochenzeit in eine menschenlesbare Zeitangabe (Datum und Uhrzeit) zu konvertieren. Daher wird die Ablaufzeit im Token auf Sunday, September 23, 2018 3:03:49 PM GMT gesetzt. Die Zeit im EBS Asserter-Domainlog ist jedoch Sep 23, 2018 6:53:31,380 PM AST. Beachten Sie, dass Greenwich Mean Time 4 Stunden vor Atlantic Standard Time liegt. Daher lautet die festgelegte Zeit Sep 23, 2018 10:53:31 PM GMT.
Das System, auf dem EBS Asserter bereitgestellt ist, ist nicht zeitlich mit IAM synchronisiert, da das von IAM übergebene Token außerhalb des Gültigkeitszeitraums liegt. Daher liegt der Fehler "Token abgelaufen" auf.
Stellen Sie sicher, daß Datum und Uhrzeit auf dem System, auf dem der EBS Asserter bereitgestellt ist, mit NTP-Servern und somit dem IAM-Host synchronisiert werden.
Java-Fehler behandeln ExceptionInInitializerError
Während Sie auf die EBS Asserter-Anwendungs-URL zugreifen, löst die Oracle EBS-Anwendung den Fehler java.lang.ExceptionInInitializerError aus.
Das EBS Asserter-Debuglog zeigt den folgenden Java-Fehler an
<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:78Grund dafür sind falsche Einstellungen in der Datei bridge.properties. Prüfen Sie die Datei bridge.properties, und stellen Sie sicher, dass sie über die erforderliche Konfiguration verfügt. Prüfen Sie außerdem, ob der in wallet.path in der Datei bridge.properties angegebene Pfad gültig ist.
Java-Fehler behandeln RuntimeException
Während Sie auf die EBS Asserter-Anwendungs-URL zugreifen, löst die Oracle EBS-Anwendung den Fehler java.lang.RuntimeException aus.
Das EBS Asserter-Debuglog zeigt den folgenden Java-Fehler an
<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)Um dies zu beheben, legen Sie fest, dass der Wert für ebs.ds.name mit dem in WebLogic erstellten Datenquellennamen identisch ist.
Deeplink-Problem lösen
Nach der IAM-Authentifizierung wird der Benutzer mit der Fehlermeldung You have insufficient privileges for the current operation. zurück zu EBS umgeleitet, anstatt Zugriff auf Oracle EBS zu erhalten. Der Benutzer wird aufgefordert, sich erneut anzumelden.
Dies kann passieren, weil der Deeplink nicht funktioniert.
Prüfen Sie, ob die Bridgeeigenschaft whitelist.urls konfiguriert ist. Wenn das Problem weiterhin besteht, geben Sie die Portnummern explizit in der Konfiguration whitelist.urls an. Beispiel: whitelist.urls=http://ebs.oracle.com:80/OA_HTML….
Prüfen Sie außerdem den JSESSION-ID-Cookienamen der E-Business Suite Asserter-App in der Datei weblogic.xml. Wenn eine andere Webanwendung in WebLogic mit demselben Cookiename vorhanden sind, tritt ein Konflikt auf.
Probleme beim Abmelden
Wenn während des Abmeldeprozesses Probleme auftreten, prüfen Sie den Parameterwert "Umleitungs-URL nach der Abmeldung" in IAM und den Parameterwert post.logout.url in der Datei bridge.properties.
Die Datei post.logout.url in der Datei bridge.properties ist ein optionaler Parameter. Standardmäßig müssen Sie dafür keinen Wert angeben. Mit diesem Parameter leitet die EBS Asserter-Anwendung den Benutzerbrowser zur angegebenen URL um, nachdem EBS Asserter den Abmeldeprozess abgeschlossen hat.
Wenn diese Funktion aktiviert ist, muss der Wert von post.logout.url in der Datei bridge.properties mit dem Wert des Parameters "Umleitungs-URL nach Abmeldung" für EBS Asserter-Anwendung in IAM übereinstimmen.
- Öffnen Sie die EBS Asserter-Anwendung in IAM, und aktualisieren Sie den Umleitungs-URL-Wert nach der Abmeldung.
- Öffnen Sie die Datei
ebs.war, aktualisieren Sie die Dateibridge.properties, generieren Sie die War-Datei neu, und stellen Sie die Datei erneut auf dem WebLogic-Server bereit. Stellen Sie sicher, dass der Wert dieses Parameters mit dem URL-Parameter "Umleitung nach Abmeldung" in IAM übereinstimmt.
Ungültiger Clientfehler bei Clientauthentifizierung nicht erfolgreich
Sie erhalten einen Fehler, der invalid_client enthielt und die Clientauthentifizierung nicht erfolgreich war. Beispiel:
<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"}- Prüfen Sie die Client-ID und das Client Secret, die in der vertraulichen IAM-Anwendung generiert wurden.
- Generieren Sie die Wallet-Datei mit der richtigen Client-ID und dem richtigen Client Secret neu.
- Stellen Sie die Datei
asserter.warauf den Weblogic-Servern erneut bereit.
Oracle EBS-Kernprofile können nicht bearbeitet werden
Sie erhalten eine Fehlermeldung, dass Oracle EBS-Kernprofile nicht bearbeitet werden können. So beheben Sie den Fehler:
- Wechseln Sie in Oracle EBS zur Seite Oracle Applications-Administration in Oracle EBS. Wählen Sie die Registerkarte Coreservices und dann die Registerkarte Profile aus.
- Wenn die Oracle EBS-Anwendung keinen Wert enthält, ist die Schaltfläche "Bearbeiten" deaktiviert.
- Wählen Sie Profil definieren, und geben Sie Profilwerte ein.
EBS Asserter kann mit Autorisierungsfehler keine Verbindung zu Oracle EBS herstellen
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.Dieser Fehler tritt auf, wenn dem Asserter-Benutzer in der EBS-Anwendung nicht die richtige Rolle zugewiesen wurde. Melden Sie sich bei der Oracle EBS-Anwendung an, und geben Sie dem Asserter-Benutzer die Rolle APPS_CONNECT_SCHEMA an.
JDBC-Verwendung aktiver Verbindungen für EBS Asserter in Weblogic
Der EBS Asserter verwendet den JNDI-Service im WebLogic-Server, um DB-Verbindungen mit der Oracle EBS-DB zu erstellen. Im Laufe der Zeit nimmt die Anzahl der Verbindungen weiter zu, und die inaktiven Sessions werden geschlossen. Dies führt dazu, dass der Verbindungspool voll wird und keine neuen Verbindungen mit der Oracle EBS DatabaseThis hergestellt werden können, führt zu einem Verbindungsfehler bei 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)Ein Neustart der WebLogic-Server dient als temporäre Korrektur, um den Asserter für neue Verbindungen verfügbar zu machen.
Inactive Connection Timeout auf der Seite "JDBC-Datenquelle: Konfiguration: Verbindungspool" in der Administrationskonsole angeben. Wenn Sie einen Wert für Inactive
Connection Timeout0 (Standardwert) gesetzt ist, ist dieses Feature deaktiviert.Inactive Connection
Timeout- Melden Sie sich bei der Weblogic Server-Administrationskonsole an.
- Gehen Sie zu Datenquellen.
- Suchen Sie nach dem Datenquellennamen, den Sie ändern möchten, und wählen Sie Datenquelle aus.
- Wählen Sie Connection Pool konfigurieren aus.
- Blenden Sie die Registerkarte {\b Advanced} ein.
- Aktualisieren Sie das Timeout für inaktive Verbindungen auf den neuen Wert.
Beispiel: Timeout für inaktive Verbindung = 900 (15 Minuten).
Diese Konfigurationen sind spezifisch für die Umgebung jedes Kunden. Es wird empfohlen, dass Sie Lasttests in ihrer Umgebung durchführen und Ihre Konfigurationen basierend auf den Ergebnissen optimieren.
Datenbankfehler in EBS Asserter
invalid table name nicht erfolgreich. BeispielTest "select count * from select 1 from fnd_nodes;" set up for pool "EbsDS1" failed with exception: "java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name.Dieser Fehler aufgrund einer Namensunstimmigkeit, bei der der Parameter ebs.ds.name in bridge.properties nicht mit dem Namen der Datenquelle übereinstimmt, die in EBSAsserter WebLogic erstellt wurde.
Um dies zu beheben, legen Sie fest, dass der Wert für ebs.ds.name mit dem in WebLogic erstellten Datenquellennamen identisch ist.