WebUtil Version 1.0.6 Production Release Notes

August 2005, updated January 2009


WebUtil is a pre-packaged set of components which provide client-server type functionality in Web-deployed Oracle Forms applications. WebUtil allows Forms developers to selectively execute code on the client machine rather than on the application server. WebUtil uses Pluggable Java Components to extend the Forms client, and PL/SQL to provide a simple interface for using them. Therefore, no Java skill is required to use WebUtil.

This patch release of WebUtil is tested with Oracle Forms 10gR2 (10.1.2) but 10.1.2 includes a version of WebUtil that should be used. There is no reason to download this version, 1.0.6 if you are using 10.1.2 of Developer Suite. It can also be used with Oracle Forms 10g (9.0.4) or Oracle9i Forms (9.0.2) with a few changes.


WebUtil is a fully supported component of Oracle Forms. Support issues can be raised through the usual support channels.

Bug Fixes in This Release

The following is a list of significant bug fixes since WebUtil 1.0.5. Some bugs for this release may not be relevant to prior releases.

Bug Number Description
3830905 CLIENT_TEXT_IO was enhanced to enable read or write in different file encoding. Also reverted the fix of 3494430, which allowed both read and write in append mode.
3857823 Moved all the translatable strings from WebUtil configuration file to the Java resource bundle.
3311797 Crash in Client_To_AS_with_progress in asynchronous mode with null callback trigger fixed.
3799211 URL to client download will not create an empty client file if the URL content is empty.
3799217 URL to client download for system install libraries will fail if the size in the WebUtil configuration for that library is different from the actual file size on the Forms server.
3857304 webutil.pll updated so as to work with JVM pooling in Forms Services 10.1.2.
4005338 WebUtil HTML templates updated to work simultaneously with End User Monitoring of Forms applications.
4057272 WebUtil error alert window adjusted to show all the error messages, even if it is very long, by wrapping and increasing the height if necessary.
4080859 CLIENT_TOOL_ENV.GETVAR on Windows will first expect a variable in Oracle registry key. If it is not defined there, it will then expect an environment variable with that name.
4111614 The directory defined by WorkAreaRoot in WebUtil configuration file is empty or null, then it will be assumed as the /temp of the user, who owns the forms runtime process.
4136005 Application Server to Client download can download large files.

Security Patch

This release of WebUtil addresses certain security issues with the signed WebUtil Jar file. The new frmwebutil.jar contains a text file named oracle.forms.webutil.common.TrustedDomains.txt. Each line in this text file represents a trusted domain name from where WebUtil can be downloaded and deployed on the client browser. The domain name in the text file may contain * (asterisk) as a wild card to match a set of domains. If any one of the lines or names matches the URL from where WebUtil is downloaded and deployed, then the URL is considered as a trusted site. Otherwise, WebUtil throws a SecurityException (error WUC-27) and Forms execution terminates.

For this security patch to work, edit the oracle.forms.webutil.common.TustedDomains.txt according to their needs and add it to frmwebutil.jar before signing it. For backwards compatibility, this file has *, which will match for everything. A URL is assumed to be trusted if either of the following conditions is met.

The URL used for deploying WebUtil is localhost;

The hostname of the URL does not have the domain suffix, i.e. there is no dot appearing in the host name. If you do not want to entrust them, you need to set the new applet parameter, WebUtilTrustInternal to false or no. This parameter can be explicitly defined in formsweb.cfg, under the [webutil] configuration section. Valid values of this parameter are true, yes, false or no. You can also use IP addresses in the list of trusted domains, e.g. or 10.20.30.*. However, resolving the URL host name to IP address may not always return satisfactory results especially when using a proxy server. Using IP addresses instead of host names is also not suitable if the IP addresses are dynamically assigned. Also note that IP addresses are also treated as strings, not as numbers or subnet masks.

Installing WebUtil

WebUtil works in the client, middle, and database tiers. The WebUtil User's Guide, which is shipped in the /doc directory of this distribution, contains detailed information for installing and configuring WebUtil. The base directory to which the zip file must be extracted is /forms or /forms90. Use the handy checklist in Appendix A to guide you. Before installing WebUtil, make sure you have the following:

Additional WebUtil Installation Steps

In Forms DS, almost all the required configurations are done by the Oracle Universal Installer itself, except for the part related to jacob. This section provides generic steps required for configuring Oracle Application Server Forms Services 10g (10.1.2) to deploy WebUtil. Use this list along with the installation checklist in Appendix A of WebUtil User's Guide.

Download JACOB 1.8 archive from http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip(ZIP). This archive supplies the core OLE functionality provided by WebUtil.

From the JACOB zip file, extract jacob.dll into forms/webutil and jacob.jar into the forms/java directories.

You need to sign both the frmwebutil.jar and the jacob.jar with the same digital certificate. This is a one-time operation, which allows your end-users to trust that the JACOB routines can access client side resources. If you do not have an existing signing certificate or are not sure how to go about signing Jar files, scripts have been supplied in the forms/webutil directory for you.

Sign the Jar files using sign_webutil.sh in Unix or sign_webutil.bat in Windows:

Make sure that keytool and jarsigner are present in the path. They are usually available in the bin directory of your Java SDK installation.

Issue sign_webutil.sh in Unix, or sign_webutil.bat in Windows

The following Jar files must be added to FORMS_BUILDER_CLASSPATH:

/forms/java/frmall.jar;/forms/java/frmwebutil.jar; /forms/java/jacob.jar.

Without these jars, the layout editor will not be able to render the WebUtil JavaBeans correctly.

Note: This step is required for installing WebUtil in Oracle Forms that is part of Oracle Developer Suite 10g (9.0.4).This step is not applicable to Oracle Application Server. Oracle Developer Suite 10g (10.1.2) does this configuration for you during a Complete Installation type.

In this release of WebUtil, the JACOB libraries are in an external Jar file and are not incorporated into frmwebutil.jar; therefore JACOB needs to be downloaded. To do this change, the webUtilArchive setting to read: WebUtilArchive=frmwebutil.jar,jacob.jar

The following variable must be defined in forms/server/default.env:

WEBUTIL_CONFIG=/forms/server/webutil.cfg .

The following jar must be added to the CLASSPATH in forms/server/default.env:


A few sample configuration sections are provided in the file sample_formsweb_cfg_entry.txt under forms/server. Add these sections to forms/server/formsweb.cfg after all the default section definitions.

WebUtil needs a single virtual directory to be defined in order to operate. This virtual directory is used to locate various operating system-specific files that WebUtil may need to download. For an Oracle Developer Suite installation, add the following line to the file j2ee/DevSuite/application-deployments/forms/formsweb/orion-web.xml under the Oracle Developer Suite Oracle Home:

<virtual-directory virtual-path="/webutil" real-path="<ORACLE_HOME>/forms/webutil" /> In Oracle Application Server, define the same virtual directory in the forms/server/forms.conf file:

AliasMatch ^/forms/webutil/(..*) "<ORACLE_HOME>/forms/webutil/$1"

Note: Oracle Developer Suite 10g (10.1.2) already has this virtual path configured during installation itself. This step is given just as a guideline that can be referred for installing WebUtil in Oracle Forms that is part of Oracle Developer Suite 10g (9.0.4).

Working with Forms 9.0.2 or 9.0.4

WebUtil 1.0.6 could work with Oracle Forms 9.0.4 without any change. However, many of the executable and directory names in Oracle Forms 10.1.2, such as "/forms90/", have been renamed to "/forms/". You'll need to replace every occurrence of "/forms/" in webutil*.htm files with "/forms90/" for WebUtil to work with Forms 9.0.4. The naming conventions in Oracle Forms 9.0.4 and 10.1.2 also differ, such as f90webutil.jar to frmwebutil.jar. In Oracle Forms 9.0.2, you may need to make more changes. For instance, webutil.pll may not compile in Oracle Forms 9.0.2, particularly for the packages beginning with JAVA_. Such packages are imported from Java classes using the Oracle Forms Java Importer. You'll have to re-import them and rename the packages accordingly.

Upgrading from WebUtil 1.0.5

For existing users of WebUtil 1.0.5 or earlier, notice the change in the directory structure. While WebUtil 1.0.5 was installed into a new directory, WebUtil 1.0.6 directory structure duplicates the Oracle Forms installation directory structure that is present in Oracle Developer Suite 10g (101.2), and is meant for installing over the WebUtil directory that exists in the Forms installation. However, you can always install WebUtil 1.0.6 into a new directory provided that the changes in the path for some of the variables such as FORMS_PATH in default.env and archive strings in formsweb.cfg are changed accordingly.

Known Issues

Certification with JACOB 1.7 along with Sun's JRE 1.4.1_07 failed because of a known issue in the JACOB 1.7 code. However, you can use build 1.8 which will work with JRE 1.4.1_07, available from http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip(ZIP).

WebUtil 1.0.6 currently does not work with JACOB 1.9 and may not work with later versions of JACOB.

WebUtil does not work on certain versions of Linux due to known forms TEXT_IO issues. The workaround is to set the environment variable LD_ASSUME_KERNEL=2.4.19.

WebUtil downloads install.syslib libraries mentioned in webutil.cfg into the bin directory of the JRE or JVM. The client needs write permission in that bin directory.

WebUtil does not work with Internet Explorer Native VM, since cab files are not provided for WebUtil. WebUtil is not supported with Internet Explorer Native VM with Forms 9.0.4 and later.

CLIENT_IMAGE.READ_IMAGE_FILE and WRITE_IMAGE_FILE may not read or write non-ASCII file names correctly.