Oracle Forms & Reports

Les serveurs gérés d'une installation Portal, Forms, Reports, Discoverer ne démarrent pas avec Java 7

S'APPLIQUE À :

Oracle Fusion Middleware - Version 11.1.2.1.0 et ultérieures
Oracle WebLogic Server - Version 10.3.5 à 10.3.5
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86-64 (64-bit)

SYMPTÔMES

Weblogic Server 10.3.6 Oracle Fusion Middleware 11.1.1.6 (et 11.1.1.7) - installation classique et Oracle Fusion Middleware 11.1.2.1 (et 11.1.2.2 (Forms and Reports). Lors de la configuration, il arrive que WLS_Portal, WLS_Forms, WLS_Reports ou WLS_Discoverer ne puissent pas démarrer et échouent avec l'erreur suivante :

Caused By: sun.security.pkcs11.ConfigurationException: Unknown keyword 'useEcX963Encoding', line 15
      at sun.security.pkcs11.Config.parse(Config.java:425)
      at sun.security.pkcs11.Config.<init>(Config.java:194)
      at sun.security.pkcs11.Config.getConfig(Config.java:67)
      at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:110)
      at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86)
      Truncated. see log file for complete stacktrace

Le problème semble survenir lors du démarrage de serveurs gérés qui utilisent Java 1.7.

Le même problème peut se produire lorsque Java 6 a servi à l'installation, puis a été mis à jour vers Java 7. Les serveurs gérés ne démarrent pas. Selon la version, il peut s'agir de WLS_Portal, WLS_Forms, WLS_Reports ou WLS_Discoverer : cela dépend de celui qui a reçu le correctif lié à la certification Java 7.

CHANGEMENTS

WLS installé avec Java 7 ou mis à jour récemment vers Java 7

CAUSE

Le problème vient du fait que le JDK 7 ne parvient pas à initialiser le fournisseur de sécurité SunPKCS11 appelé lors du démarrage du serveur géré WLS_Portal, WLS_Forms, WLS_Reports ou WLS_Discoverer.

SOLUTION

1) Comme solution de contournement TEMPORAIRE, modifiez manuellement le fichier <jdk home>/jre/lib/security/java.security pour supprimer le fournisseur SunPKCS11 :

from:

security.provider.1=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/sunpkcs11-solaris.cfg
security.provider.2=sun.security.provider.Sun
security.provider.3=sun.security.rsa.SunRsaSign
...

to:

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
...

Notez qu'une fois la ligne supprimée, vous devez renuméroter les fournisseurs de sécurité pour que le premier soit security.provider.1, le deuxième security.provider.2, et ainsi de suite.

2) Cliquez sur "retry" dans l'OUI. L'opération devrait cette fois réussir.

3) Cette solution est TEMPORAIRE, car vous voudrez plus tard rétablir la ligne security.provider.1=sun.security.pkcs11.SunPKCS11 que vous avez retirée de <jdk home>/jre/lib/security/java.security. Ce contournement permet aux serveurs gérés de démarrer afin de terminer l'installation. Si vous remplacez plus tard Java par une version plus récente (voir la Note 1492980.1), vous devrez refaire cette opération à chaque fois. De plus, votre fichier <jdk home>/jre/lib/security/java.security ne sera pas configuré comme le prévoit l'équipe Java. La correction définitive doit être obtenue auprès des équipes WLS_Portal, WLS_Forms, WLS_Reports ou WLS_Discoverer... selon le composant qui échoue. Une fois la bonne version installée (ou le correctif appliqué) pour l'un d'eux, il devrait pouvoir démarrer sans ce problème.

Les bogues internes suivants ont été ouverts pour analyser le problème. Après examen, l'équipe de développement a conclu qu'il n'était pas possible de les corriger.

Bug: 18511809 - ORACLE FORMS AND REPORTS INSTALLATION FAILS WHILE STARTING MANAGED SERVER
Bug: 20191299 - WLS_FORMS SERVER START FAILS AFTER JDK UPGRADE TO 1.6.0_85 OR 1.7
Bug: 20190938 - PORTAL/FORMS/REPORTS START FAILS AFTER JDK UPGRADE TO 1.6.0_85 OR 1.7