Bekannte Probleme bei EBS Asserter
Bekannte Probleme bei der Arbeit mit EBS Asserter in IAM.
Fehler beim Beheben von nicht ausreichenden Berechtigungen
Nach der IAM-Authentifizierung wird der Benutzer nicht mehr auf Oracle EBS zugreifen, sondern mit der Fehlermeldung You have insufficient privileges for the current operation.
zurück zu EBS umgeleitet. Der Benutzer wird aufgefordert, sich erneut anzumelden.
Wenn die Oracle EBS-Anwendung diesen Fehler ausgibt, bedeutet das im Allgemeinen, dass das Cookie auf eine falsche Domain gesetzt wurde. Um dies zu bestätigen, prüfen Sie das EBS Asserter-Debug-Log, 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_HINT
In diesem Beispiel zeigt das EBS Asserter-Debug-Log an, dass sessionCookieDomain
einen falschen Wert aufweist, der auf .oracle.com
gesetzt wird.
ICX_PARAMETERS.SESSION_COOKIE_DOMAIN
darf auf keinen Wert gesetzt werden.
- Aktualisieren Sie die Einstellung
SESSION_COOKIE_DOMAIN
inICX_PARAMETERS
SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS; SESSION_COOKIE_DOMAIN ------------------------------ .oracle.com
- Setzen Sie
session_cookie_domain
inICX_PARAMETERS
aufNULL
update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL; commit;
- Starten Sie alle Services neu.
- Testen Sie das Problem erneut.
Interner 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 für 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 $
Lösen Sie dieses Problem, indem Sie das neueste kritische Patch-Update für Oracle E-Business Suite Release 12 vom Januar 2013 oder eine neuere Version einspielen. Mit diesem kritischen Patchupdate kann AppsLogoutRedirect.java
die Profile APPS_SSO
und APPS_AUTH_AGENT
nutzen. Informationen zum Einspielen dieses Patches finden Sie im Knowledge Document (Juli 2018) (Doc ID 2379675.1).
Time Sync-Problem beheben
Während Sie auf die EBS Asserter-Anwendungs-URL zugreifen, hat der Anmeldeablauf der Oracle EBS-Anwendung zu einem internen Serverfehler geführt.
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 request
session_exp
ist auf 1537715029
gesetzt. Verwenden Sie EpochConverter
, um die aktuelle Unix-Epochenzeit in eine menschenlesbare Zeitangabe 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 wird, ist nicht mit IAM synchron. Daher liegt das von IAM übergebene Token außerhalb des Gültigkeitszeitraums. Daher tritt der Fehler "Token abgelaufen" auf.
Stellen Sie sicher, dass Datum und Uhrzeit auf dem System, auf dem EBS Asserter bereitgestellt ist, mit NTP-Servern und somit dem IAM-Host synchronisiert sind.
Java-Fehler ExceptionInInitializerError behandeln
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:78
Grund 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 RuntimeException verarbeiten
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, setzen Sie das Werteset ebs.ds.name
auf denselben Wert wie der in WebLogic erstellte Datenquellenname.
Deeplink-Problem beheben
Nach der IAM-Authentifizierung wird der Benutzer nicht mehr auf Oracle EBS zugreifen, sondern mit der Fehlermeldung You have insufficient privileges for the current operation.
zurück zu EBS umgeleitet. Der Benutzer wird aufgefordert, sich erneut anzumelden.
Dies kann passieren, weil die Deep Link 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 der WebLogic mit demselben Cookienamen vorhanden ist, führt dies zu einem Konflikt.
Probleme bei der Abmeldung
Wenn während des Abmeldeprozesses Probleme auftreten, prüfen Sie den Parameterwert der Umleitungs-URL nach der Abmeldung in IAM und den Parameterwert post.logout.url
in der Datei bridge.properties
.
Der Parameter post.logout.url
in der Datei bridge.properties
ist ein optionaler Parameter. Standardmäßig müssen Sie keinen Wert eingeben. Mit diesem Parameter können Sie festlegen, dass die EBS Asserter-Anwendung den Benutzerbrowser an die angegebene URL umleitet, nachdem EBS Asserter den Abmeldeprozess abgeschlossen hat.
Wenn diese Option aktiviert ist, muss der Wert von post.logout.url
in der Datei bridge.properties
mit dem Wert des Parameters für die Umleitungs-URL nach der Abmeldung für die EBS Asserter-Anwendung in IAM übereinstimmen.
- Öffnen Sie die EBS Asserter-Anwendung in IAM, und aktualisieren Sie den Wert der Umleitungs-URL 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 Parameter Umleitungs-URL nach der 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 in der vertraulichen IAM-Anwendung generierte Client-ID und das Client Secret.
- Generieren Sie die Wallet-Datei mit der richtigen Client-ID und dem richtigen Client Secret neu.
- Stellen Sie die Datei
asserter.war
erneut auf den Weblogic-Servern 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:
- Gehen Sie in Oracle EBS zur Seite Oracle Applications Administration in Oracle EBS. Wählen Sie die Registerkarte Coreservices und dann die Registerkarte Profile.
- 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 keine Verbindung zu Oracle EBS mit Autorisierungsfehler 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, der in der EBS-Anwendung vorhanden ist, 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.
Verwendung der aktiven JDBC-Verbindung für EBS Asserter in Weblogic
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 zu und die inaktiven Sessions werden geschlossen. Dadurch wird der Verbindungspool voll und kann keine neuen Verbindungen mit Oracle EBS DatabaseThis herstellen. Dies 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 fungiert als temporärer Fix, um den Asserter für neue Verbindungen verfügbar zu machen.
Inactive Connection Timeout
auf der Seite "JDBC-Datenquelle: Konfiguration: Verbindungspool" in der Administrationskonsole anzugeben. Wenn Sie einen Wert festlegen für Inactive
Connection Timeout
0
(Standardwert) gesetzt ist, ist dieses Feature deaktiviert.Inactive Connection
Timeout
- Melden Sie sich bei der Weblogic-Server-Admin-Konsole an.
- Navigieren Sie zu Datenquellen.
- Suchen Sie den Namen der Datenquelle, den Sie ändern möchten, und wählen Sie Datenquelle aus.
- Wählen Sie Verbindungspool konfigurieren aus.
- Erweitern Sie die Registerkarte "Advanced".
- Aktualisieren Sie den Timeout bei inaktiver Verbindung 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
. 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, wobei der Parameter ebs.ds.name
in bridge.properties
nicht mit dem Namen der Datenquelle identisch ist, die in EBSAsserters WebLogic erstellt wurde.
Um dies zu beheben, setzen Sie das Werteset ebs.ds.name
auf denselben Wert wie der in WebLogic erstellte Datenquellenname.