Configure WebUtil 1.06

 

How to get up and running with WebUtil 1.06 included with Oracle Developer Suite 10.1.2.0.2 on a win32 platform, I also tested it on Linux and it works well (after of course taking care of the differences in PATH format)


Solution
Assuming a fresh "Complete" install of Oracle Developer Suite 10.1.2.0.2,
here are steps to get a small test form running, using WebUtil 1.06.

Note: Oracle_Home is used as an alias for your real oDS ORACLE_HOME.
Feel free to copy this note to a text editor, and do a global find/replace on
Oracle_Home with your actual value (no trailing slash). Then it is easy to
copy/paste actual commands to be executed from the note copy.


1) Download http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
  and extract to a temporary staging area. Do not attempt to use 1.7 or 1.9.

2) Copy or move jacob.jar and jacob.dll
  C:\webutile is the folder where you extracted Jacob, and will end in ...\jacob_18
     cd C:\webutile
     copy jacob.jar Oracle_Home\forms\java\.
     copy jacob.dll Oracle_Home\forms\webutil\.
  The Jacob staging area is no longer needed, and may be deleted.

3) Sign frmwebutil.jar and jacob.jar
  Open a DOS command prompt.
  Add Oracle_Home\jdk\bin to the PATH:
     set PATH=C:\oracle\developer\jdk\bin;%PATH%
  Sign the files, and check the output for success:
     C:\oracle\developer\forms\webutil\sign_webutil C:\oracle\developer\forms\java\frmwebutil.jar
     C:\oracle\developer\forms\webutil\sign_webutil C:\oracle\developer\forms\java\jacob.jar

4) If you already have a schema in your RDBMS which contains the WebUtil stored code,
  you may skip this step. Otherwise,
  Create a schema to hold the WebUtil stored code, and privileges needed to
  connect and create a stored package. Schema name "WEBUTIL" is recommended
  for no reason other than consistency over the user base.
  Open Oracle_Home\forms\create_webutil_db.sql in a text editor, and delete or comment
  out the EXIT statement, to be able to see whether the objects were created witout
  errors.
  Start SQL*Plus as SYSTEM, and issue:
     CREATE USER webutil IDENTIFIED BY a
     DEFAULT TABLESPACE users
     TEMPORARY TABLESPACE temp;
     /
     GRANT CONNECT, CREATE PROCEDURE, CREATE PUBLIC SYNONYM TO webutil;
     /


     CONNECT webutil/webutil@rcci
     @C:\oracle\developer\forms\create_webutil_db.sql
     -- Inspect SQL*Plus output for errors, and then
     CREATE PUBLIC SYNONYM webutil_db FOR webutil.webutil_db;
     /

  Reconnect as SYSTEM, and issue:
     grant execute on webutil_db to public;

     /



5) Modify Oracle_Home\forms\server\default.env, and append C:\oracle\developer\jdk\jre\lib\rt.jar
  to the CLASSPATH entry.

6) Modify Oracle_Home\forms\server\formsweb.cfg insde [default] add :
    archive_jini=frmall_jinit.jar,frmwebutil.jar,jacob.jar
    archive=frmall.jar
    also add  :
    [webutil]
    WebUtilLogging=off
    WebUtilLoggingDetail=normal
    WebUtilErrorMode=Alert
    WebUtilDispatchMonitorInterval=5
    WebUtilTrustInternal=true
    WebUtilMaxTransferSize=16384
    baseHTMLjinitiator=webutiljini.htm
    baseHTMLjpi=webutiljpi.htm
    baseHTML=webutilbase.htm
    archive_jini=frmall_jinit.jar
    WebUtilArchive=frmwebutil.jar,jacob.jar,f90all.jar
    archive=frmwebutil.jar,f90all.jar
    lookAndFeel=oracle

7) Modify  Oracle_Home\forms\server\webutil.cfg and add :
    transfer.database.enabled=TRUE
    transfer.appsrv.enabled=TRUE

8) Start the OC4J instance

9) Start Forms Builder and connect to a schema in the RDBMS used in step (4).
  Open webutil.pll, do a "Compile ALL" (shift-Control-K), and generate to PLX (Control-T).
  It is important to generate the PLX, to avoid the FRM-40039 discussed in
  Note 303682.1
  If the PLX is not generated, the Webutil.pll library would have to be attached with
  full path information to all forms wishing to use WebUtil. This is NOT recommended.

10) Create a new FMB.
  Open webutil.olb, and Subclass (not Copy) the Webutil object to the form.
  There is no need to Subclass the WebutilConfig object.
  Attach the Webutil.pll Library, and remove the path.
  Add an ON-LOGON trigger with the code
         NULL;
  to avoid having to connect to an RDBMS (optional).
  Create a new button on a new canvas, with the code
         show_webutil_information (TRUE);
  in a WHEN-BUTTON-PRESSED trigger.
  Compile the FMB to FMX, after doing a Compile-All (Shift-Control-K).

11) Under Edit->Preferences->Runtime in Forms Builder, click on "Reset to Default" if
  the "Application Server URL" is empty.
  Then append "?config=webutil" at the end, so you end up with a URL of the form
      http://server:port/forms/frmservlet?config=webutil

12) Run your form.