Wednesday, 28 January 2009

Download Disco5i.jar File with HTTP Protocol While Discoverer Plus is Configured to Work with HTTPS

Recently I've been requested, due to a configuration restrictions with firewalls, whether it is possible to use Discoverer Plus with SSL (https) and yet have the disco5i.jar download occur through http protocol ? The answer is yes, let me show you how :

Pre 10.1.2.2 + CP7 (and 10.1.2.1.0)
  • Modify the $ORACLE_HOME/discoverer/config/configuration.xml file.
  • Change the 'disco_archive' parameter (for relational) to point to the disco5i.jarjar file via an
    HTTPS URL and 'd4o_double' (for Discoverer for OLAP applet)

    Example:

    FROM:
    plugin_setup="https://machine.us.oracle.com:443/jpi/j2re.exe" version="1.4.2" versionie="1,4,2,mn"
    type="application/x-java-applet"
    plugin_page="http://java.sun.com/products/archive/j2se/1.4.2_04/index.html"
    disco_archive="disco5i.jarjar" d4o_archive="d4o_double.jarjar"/>


    TO:

    plugin_setup="https://machine.us.oracle.com:443/jpi/j2re.exe" version="1.4.2" versionie="1,4,2,mn"
    type="application/x-java-applet"
    plugin_page="http://java.sun.com/products/archive/j2se/1.4.2_04/index.html"
    disco_archive="http://machine.domain/disco/plus_files/disco5i.jarjar"
    d4o_archive="http://machine.domain/disco/plus_files/d4o_double.jarjar"/>

For environments that include iAS/Discoverer 10.1.2.2 with Cumulative Patch 7 or 8 (CP7 or CP8) and/or iAS/Discoverer 10.1.2.3

  • Modify the $ORACLE_HOME/discoverer/config/configuration.xml file jar parameters as shown:


    disco_archive=" http://machine.domain/discoverer_disco/plus_files/disco5i.jarjar"
    d4o_archive=" http://machine.domain/discoverer_disco/plus_files/d4o_double.jarjar"


  • This change will force the disco5i.jarjar to downloaded using the HTTP protocol.

Friday, 20 June 2008

Discoverer Plus Generate "java.io.FileNotFoundException:disco5i.jar" after Cumulative Patch 7 (6778560) installation

Discoverer Plus 10.1.2.54.25 generate the following exception in Java Console, and cannot be loaded :

java.io.FileNotFoundException: File not found:
https://servername.domain/discoverer_disco/plus_files/disco5i.jar
at sun.plugin.proto .jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
at oracle.jre.protocol.jar.HttpUtils.followRedirects(Unknown Source)
at oracle.jre.protocol.jar.JarCache$CachedJarLoader.download(Unknown Source)
at oracle.jre.protocol.jar.JarCache$CachedJarLoader.load(Unknown Source)
at oracle.jre.protocol.jar.JarCache.get(Unknown Source)
at oracle.jre.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at oracle.jre.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.(Unknown Source)
at sun.misc.URLClassPath$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getLoader(Unknown Source)
at sun.misc.URLClassPath.getResource(Unknown Source)
at sun.misc.URLClassPath.getResource(Unknown Source)
at sun.applet.AppletPanel.loadJarFiles(Unknown Source)
at sun.plugin.AppletViewer.loadJarFiles(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
WARNING: Unable to cache
https://appsppesdev.oracleoutsourcing.com/discoverer_disco/plus_files/disco5i.jar
Could not load progress dialog image:
https://appsppesdev.oracleoutsourcing.com/discoverer_disco/plus_files/plugin/images/download.jpg
load: class oracle.disco.DiscoApplet not found.
java.lang.ClassNotFoundException: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


The error_log files, shows errors like :
[error] [client 140.85.190.243] [ecid: 82133192743,1] File does not exist: $OH/Apache/Apache/htdocs/disco/discoverer_disco/plus_files/disco5i.jar

Changes


The problem appeared after the installation of the Cumulative Patch 7 on a Complex / Load Balanced environment, with BigIP and security rules.

Cause


Due to the

Bug 5948646 NEED TO CHANGE THE CONTEXTROOT FOR DISCOVERER PLUS&VIEWER

the $OH/discoverer/config/disco.conf has been updated from :

# Virtual path for plus jar and related files
AliasMatch ^/disco/plus_files/(..*)
"$OH/discoverer/plus_files/$1"


to :

# Virtual path for plus jar and related files
AliasMatch ^/discoverer_disco/plus_files/(..*)
"$OH/discoverer/plus_files/$1"

Solution


Change the BigIP security rules for the Virtual Path from /disco/ to /discoverer_disco/

Granting Discoverer EUL Administrative Privileges Via The EULAPI Command-Line To SYSADMIN Fails With ORA-00942

You are granting Administrative privileges to the SYSADMIN user using a similar Discoverer EULAPI command as below:

eulapi -connect eul_us/eul_us@db -grant_privilege -user SYSADMIN
-privilege administration -privilege all_admin_privs -log grantEULAdminPriv.log

When running the command, it fails with ORA-00942: table or view does not exist.

Changes

The following E-Business Suite schemas/users have been renamed:

For Example:

from "APPS" to "APPS_AOL"
from APPLSYSPUB to "AOLPUB"
from APPLSYS to "AOL"

Cause

Several of the standard E-Business Suite users/schemas have been renamed in the database.


Solution

The solution used will depend upon if the schema names were changed before or after the EUL was created.


First, test your connection by specifying the -apps_fndnam parameter using the new "APPS" schema in the EULAPI command-line:

For example:


eulapi -connect eul_us/eul_us@db -apps_fndnam APPS_AOL -grant_privilege -user SYSADMIN -privilege administration -privilege all_admin_privs -log grantEULAdminPriv.log

If the above solution does not work or you receive the error: user 'SYSADMIN' not found, then you may need to re-create the EUL with the new schema names.


For example:

  1. Delete the existing EUL

    Note: This is assuming the EUL is newly created and contains no metadata (Business Areas).


    eulapi -connect eul_us/eul_us@db -delete_eul -connect <**********> -delete_eul

  2. Create a new applications mode EUL using the new schema name, apps_aol in this example:

    eulapi -CREATE_EUL -APPS_MODE -CONNECT system/pwd@db -USER EUL_US -PASSWORD EUL_US
    -DEFAULT_TABLESPACE discoverer
    -TEMPORARY_TABLESPACE TMP_123
    -EUL_LANGUAGE US
    -APPS_GRANT_DETAILS apps_aol/fnd
    -log EULcreation.log


  3. Connect using the the new schema name, apps_aol in this example:

    eulapi -connect eul_us/eul_us@dbetfi8i -apps_fndnam APPS_AOL -grant_privilege -user SYSADMIN -privilege administration -privilege all_admin_privs -log grantEULAdminPriv.log