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.

  1. Aktualisieren Sie die Einstellung SESSION_COOKIE_DOMAIN in ICX_PARAMETERS
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Setzen Sie session_cookie_domain in ICX_PARAMETERS auf NULL
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. Starten Sie alle Services neu.
  4. 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.

  1. Öffnen Sie die EBS Asserter-Anwendung in IAM, und aktualisieren Sie den Wert der Umleitungs-URL nach der Abmeldung.
  2. Öffnen Sie die Datei ebs.war, aktualisieren Sie die Datei bridge.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"}
  1. Prüfen Sie die in der vertraulichen IAM-Anwendung generierte Client-ID und das Client Secret.
  2. Generieren Sie die Wallet-Datei mit der richtigen Client-ID und dem richtigen Client Secret neu.
  3. 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:

  1. Gehen Sie in Oracle EBS zur Seite Oracle Applications Administration in Oracle EBS. Wählen Sie die Registerkarte Coreservices und dann die Registerkarte Profile.
  2. Wenn die Oracle EBS-Anwendung keinen Wert enthält, ist die Schaltfläche "Bearbeiten" deaktiviert.
  3. Wählen Sie Profil definieren, und geben Sie Profilwerte ein.

EBS Asserter kann keine Verbindung zu Oracle EBS mit Autorisierungsfehler herstellen

Sie erhalten eine Nachricht, die Folgendes enthält:
The Applications user,
          EBSASSERTER is not authorized to access the database
So wie dieser.
<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.

Die Möglichkeit, dies dauerhaft zu beheben, besteht darin, einen Wert für Inactive Connection Timeout auf der Seite "JDBC-Datenquelle: Konfiguration: Verbindungspool" in der Administrationskonsole anzugeben. Wenn Sie einen Wert festlegen für
Inactive
        Connection Timeout
, gibt WebLogic Server eine Verbindung zur Datenquelle zwangsweise zurück, wenn für die angegebene Anzahl von Sekunden keine Aktivität für eine reservierte Verbindung vorhanden ist. Wenn dieser Wert auf 0 (Standardwert) gesetzt ist, ist dieses Feature deaktiviert.
So legen Sie einen positiven Wert für die
Inactive Connection
        Timeout
:
  1. Melden Sie sich bei der Weblogic-Server-Admin-Konsole an.
  2. Navigieren Sie zu Datenquellen.
  3. Suchen Sie den Namen der Datenquelle, den Sie ändern möchten, und wählen Sie Datenquelle aus.
  4. Wählen Sie Verbindungspool konfigurieren aus.
  5. Erweitern Sie die Registerkarte "Advanced".
  6. Aktualisieren Sie den Timeout bei inaktiver Verbindung auf den neuen Wert.

    Beispiel: Timeout für inaktive Verbindung = 900 (15 Minuten).

Hinweis

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

Die Verbindung von EBS Asserter zur Datenbank verläuft nicht erfolgreich mit invalid table name. Beispiel
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.

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.