IBM WebSphere Application Server
Advanced Single Server Edition Version 4.0.3, and
Advanced Edition Version 4.0.3
Release Notes

Last updated: 08/26/2002

This document contains the Release Notes for the WebSphere Application Server Advanced Single Server Edition Version 4.0 FixPak 3 (4.0.3) and Advanced Edition Version 4.0 FixPak 3 (4.0.3). Please note that WebSphere Application Server Release FixPak 4.0.3 does not support TurboLinux on zOS.

These notes will be updated periodically. For the latest version of these Release Notes, check the IBM WebSphere Application Server InfoCenter page at http://www.ibm.com/software/webservers/appserv/infocenter.html.

These notes cover the following--


Required Reading: Third Party Licenses for Version 4.0.3

Read the license for each product that you intend to use. These licenses are provided in English only.


What's New in Version 4.0.3

WebSphere Application Server Version 4.0.3 provides prerequisite upgrades for the following:

Installing Version 4.0.3

Complete installation instructions for Version 4.0.3 are included in the README file shipped with the FixPak install code. Please read README file before install Version 4.0.3.


Documentation for Version 4.0.3

The documentation for Version 4.0.3 supplements the Version 4.0 WebSphere Application Server InfoCenter, which is at http://www.ibm.com/software/webservers/appserv/infocenter.html. Topics covered in the Version 4.0.3 documentation include:

Note that, for this release, the InfoCenter has not been updated. The Version 4.0 InfoCenter remains the most current version. The documentation provided with this release adds to or corrects portions of the Version 4.0 InfoCenter.


Possible Problems and Suggested Fixes

This section contains information about known defects and the workarounds. If a problem that you encounter is not mentioned in this section, examine the TechNotes database for information on that problem.

Installation and configuration

Read the problems and fixes that apply to your situation:

All operating systems

Applying CSD3 to MQSeries 5.2 (Defect 116061.RN)

CSD3 should be applied to MQSeries 5.2. Then if the MQSeries queue manager halts while the administrative server of WebSphere Application Server is running the MQSeries queue manager can be restarted without rebooting the system. But it may require that the administrative server be cycled.

JDK must be upgraded if upgrading WebSphere Application Server (127427.RN)

If you select to upgrade WebSphere Application Server when you install FixPak 3, you must also upgrade your JDK level. Select Yes to upgrade the JDK level.

Interrupted install may cause reinstall and uninstall to fail (Defect 125711.RN)

If you interrupt the installation of PTF 4.0.3 while the files are being backed up, the backup_jar file may be corrupted, which causes the uninstall to fail. If you continue the installation, pay particular attention to where the backup .jar files are being stored. Although you can specify your own directory, the two most common default locations are in <was_root> and the directory where you are running the install script. If you are installing the WebSphere Application Server update, the default is the <was_root> directory. If you are not installing the update, the default directory is in the directory that contains the installation script. Replace the corrupted backup .jar with the .jar file from that directory. If you need to back out or uninstall the PTF, ensure that valid backup .jar files exist all in one directory based on the components that you wish to back out.

Note that if you run the uninstall_ptf_3.sh or uninstall_ptf_3.bat from the <was_root> directory, the uninstall will default to using whatever backup .jar files it finds there unless you direct it to look someplace else. An example of what the backup .jar files are called are ihs_ptf_3_backup.jar, jdk_ptf_3_backup.jar, J2C_ptf_3_backup.jar, and was40_ae_ptf_3_backup.jar.

See the README file for detail installation instructions.

Installing an alternate IBM Software Development Kit (Defect 120897)

If you want to use an IBM Software Development Kit other than the one provided with the WebSphere Application Server product, select custom install on the installation panel. On the Choose Application Server Components window, ensure that IBM JDK 1.3.0 is not selected and then click Other JDK. Select the JDK that you want to use from the list. It is very important that you deselect the JDK box, otherwise the JDK provided with the product is installed.

If you want to use an alternate JDK when applying PTF 4.0.3, specify the JDK to use during installation of the PTF or set the system environment variable, JDK_UPDATE_HOME, to point to the directory of the JDK to update.

Authentication failures using LTPA authentication with an LDAP server cluster (Defect 119573)

When using LTPA authentication and an LDAP cluster, authentication fails or is very slow, perform the following two configurations or choose one of them:

Note that an LDAP cluster is defined as multiple LDAP servers which appear to be a single LDAP server due to the use of a network dispatcher or IP sprayer.

Installation over network takes longer to run than using local resources (Defect 114034.RN)

Installation of a FixPak that makes use of network resources can take substantially longer to execute than one which uses local resources.

For the best speed, make sure that the following files and directories are available through local resources:

the update source files
the update target files
the temporary directory
the directory for log files
the directory for backup files

See the usage and help text for directions on how to set these values. Usage information is available for both the install and uninstall scripts. Use the -usage command line option to display usage information. Use the -help command line option to display comprehensive help.

Matching the WebSphere Application Server element type tag sequence (Defect 120691.RN)

Applications that ran on WebSphere Application Server prior to Version 4.0.3 did not check for the J2EE tag sequence standard (they may not work or may require changes) because now there is tag sequence validation and the standard is supported by the current release.

The WebSphere Application Server element type tag sequence must match with the following requirements: name, tag class, teiclass, body content, information, and attribute*.

Applications written using the Java server page (JSP) element tag like name, tag class, teiclass, body content, information, attribute*. for WebSPhere Application Server Version 4.0.3 and above need to follow the standards defined in the URL http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd.

Native libraries for cryptographic devices must be re-extracted (Defect 121813.RN)

If you have been using Cryptographic Devices on WebSphere Application Server FixPak 4.0.2, you must redo the steps described in $WAS_HOME/java/docs/jsse/readme.jsse.ibm.html in order to update the native libraries to the latest level after installing FixPak 4.0.3. This process is required due to an update to the JSSE level included with this FixPak.

Specifying fully qualified domain name when using Lightweight Third-Party Authentication for authentication (Defect 122469)

When using Lightweight Third-Party Authentication (LTPA) for authentication, the cookies are set with a domain name and a URL without fully qualified host name will not receive this cookie. Hence, the form based login will take you back to the login screen. Make sure to specify the domain name as http://server.ibm.com in the URL.

Dialog instructs you to remove all previous installations of IBM HTTP Server (109990.RN)

If the WebSphere installation program finds a previous version of IBM HTTP Server on the system and you have selected to install the new version of this product, a warning dialog displays. The warning dialog requests that you cancel the current install, remove the older version of IBM HTTP Server, and restart the WebSphere Application Server installation program. However, the installation will continue if you click OK on this dialog, not giving you a chance to cancel the installation. Do not cancel the installation. Instead, allow the program to complete the installation and then manually remove the IBM HTTP Server files or packages. Then, run the WebSphere Application Server installation program again, selecting only IBM HTTP Server and the IBM HTTP Server plug-in for installation and configuration.

Installing the Advanced Edition into the same directory as the Advanced Single Server Edition (110218.RN, 110219.RN)

If the WebSphere Application Server Advanced Edition is installed and migrated into the same directory as a previous Advanced Single Server Edition installation, the Advanced Single Server Edition installation is no longer a valid installation. Do not run the Uninstall program, because it will uninstall the new Advanced Edition installation.

Further, if the WebSphere Application Server Advanced Edition is installed and migrated into the same directory as a previous Advanced Single Server Edition installation, the Advanced Single Server Edition property files will be lost. If you plan on manually migrating any of your property files, you should back up the Advanced Single Server Edition property files before installing the Advanced Edition.

Upgrading the IBM HTTP Server product installation (103883.RN)

The WebSphere Application Server installation program does not automatically upgrade the IBM HTTP Server product from an earlier version to the appropriate level that is needed for WebSphere 4.0.1. If you would like to preserve your IBM HTTP Server configuration information, do the following:

  1. Save the httpd.conf file located in the IBM HTTP Server directory structure.
  2. Uninstall the previous version of IBM HTTP Server.
  3. Install WebSphere 4.0.1 and instruct the WebSphere installation program to install IBM HTTP Server.
  4. Carefully merge the httpd.conf saved in step 1 with the new httpd.conf file.

Updates to the WebSphere 4.0.1 httpd.conf file are done differently than in previous releases. In version 4.0.1, the WebSphere installation program updated the httpd.conf file with the new HTTP Transport plug-in directives. See InfoCenter section 3.2.4 for more information on WebSphere plug-in changes for 4.0.1

Setting up SQL Server for use as the administrative repository (114271)

To use SQL Server as the WebSphere Application Server administrative repository, ensure that you have the WAS database in your SQL Server. If not, create it using the Enterprise Manager in SQL Server. To do so, go to the Enterprise Manager in SQL Server and create a user EJSADMIN for the WAS database with password EJSADMIN and database administrator privileges. Also, create a user EJB on this database with password EJB and administrative privileges. The default server in WebSphere Application Server uses these users.

Note that the above information also applies to the InfoCenter articles "6.6.46: Administering WebSphere administrative servers" and "6.6.14.5: Additional administrative tasks for specific databases."

Apply e-fix PQ51387 in order to use JNDI client on Version 3.5.5 or 3.5.4 (108555)

If you want to use the JNDI client on WebSphere Application Server Version 3.5.3 or Version 3.5.4 to access a Version 4.0.x name server, you must apply e-fix PQ51387 to your Version 3.5.x product. This e-fix is available at http://www.ibm.com/software/webservers/appserv/support.html.

Follow the instructions in the readme.txt file to update the ujc.jar and ns.jar on WebSphere Application Server Version 3.5.x.

Informix and remote database option selected (108664.RN)

During installation, if you select Informix as the backend database and also select the remote database option, the installation program will not be able to configure the Informix database with the remote database option. To manually configure Informix, set the following property in the admin.config file after the installation completes.

com.ibm.ejs.sm.adminServer.dbifxIFXHOST=remote_host_name
All UNIX operating systems

Correction to "Installing DB2 UDB 7.2" and "Configuring DB2 UDB 7.2" on UNIX (110232)

The instructions in the InfoCenter on "Installing DB2 UDB 7.2" and "Configuring DB2 UDB 7.2" state that the directory used for DB2 UDB is /opt/IBMdb2/V7.2 for Solaris and /usr/lpp/db2_07_02 for AIX. The AIX installation might, in fact, use the directory /usr/lpp/db2_07_01. Similarly, the Solaris installation might use the directory /opt/IBMdb2/V7.1, which is the correct directory for installation on Solaris. For the latest product documentation, see the IBM WebSphere Application Server InfoCenter at www.ibm.com/software/webservers/appserv/infocenter.html.

Informix and setting the DBHome property on UNIX

When you are installing WebSphere Application Server, with the GUI installer in the Database Options panel or silently by using a response file, you are instructed to enter the path of the directory containing the database software for DBHome. This value does not work if you have chosen Informix as your administrative database. Enter the path of the directory containing the Informix Type 4 JDBC driver for DBHome field, rather than the path to the directory containing the database software.

Log file does not open after running wscp command on UNIX (110363.RN)

If you installed the administrative component only, edit the file WebSphere_installation_root/properties/sas.client.props and find the following line in the file:

com.ibm.CORBA.securityTraceOutput=$(WASROOT)/logs/sas.client.log

Replace $(WASROOT) with your WebSphere Application Server home directory.

AIX

The files on AIX are installed with checksum errors (XPQ35815.RN)

If you install WebSphere Application Server on an AIX machine, and issue the installp command, you will receive errors for some of the installed files. These errors do not affect the installation, running and uninstallation of the product.

Informix IDS_2000 has load libc_r.a problem on AIX 4.3.3 (108882.RN)

After installing, Informix IDS_2000 has a load libc_r.a problem on AIX 4.3.3 even if the software installed without problems. If you run any Informix command, such as oninit -ivy, onstat -l, or onmode, you will receive error messages.

To work around this error condition, do one of the following:

Netscape browser needs upgrade after APAR IY19277 is applied on AIX (108934)

After you install WebSphere Application Server and all of its prerequisites on AIX, Netscape Communicator 4.73 (or older) may not start. The following error message will indicate this failure:

Could not load program /afs/torolab.ibm.com/common/progs/netscape47/netscape_aix4:
Symbol resolution failed for /usr/lib/libpthreads.a(shr.o) because:
        Symbol thread_unlock (number 121) is not exported from dependent
          module /afs/torolab.ibm.com/common/progs/netscape47/lib433/libc_r.a(shr.o).
        Symbol thread_waitlock (number 122) is not exported from dependent
          module /afs/torolab.ibm.com/common/progs/netscape47/lib433/libc_r.a(shr.o).

This error occurs because Netscape Communicator V4 uses a private copy of libc.a which must stay synchronized with other shared AIX libraries. If AIX updates are applied to your system, you may need to update the copy of libc.a used by Netscape Communicator.

You can download the updated version of libc.a and replace the one in the Netscape installation directory from the following URL:

ftp://aix.software.ibm.com/aix/efixes/netscape/aix433_libc/

Read and follow the instructions (in the README file) for downloading and replacing the libc.a in your existing Netscape installation.

If you run Netscape from AFS or DFS locations, you may not be able to do it yourself because of lack of write permission to the Netscape directory. If this is the case you need to contact your AFS/DFS administrator.

Alternatively, there is a new version (4.76i) of Netscape available for download that corrects this problem as well. You can download and install this version onto your local machine. The location for the download is:

ftp://aix.software.ibm.com/aix/efixes/netscape/aix43_installp/

HP-UX

DB2 does not work properly unless the KC_PARAM_DEFAULT parameter is 65535 (114435, 116016.RN)

As noted in the Supporting Software database for WebSphere Application Server at http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html, an HP-UX 11.11 (or 11i) system needs the patches (filesets) HWEnable11i_11.11.depot and PHKL_25368 to run DB2 properly with WebSphere Application Server. However, even with the filesets installed, the value of the msgmax kernel parameter might revert back to its original value of 8192 after a system reboot. When this happens, DB2 does not work properly. The value must be 65535.

Correction to "Mounting a CD-ROM on HP-UX" (110139, 116616)

Instructions in the InfoCenter on "Mounting a CD-ROM in HP-UX" should be changed to the following:

Correction to "Installing Oracle 8i Release 3 (8.1.7)" for HP-UX (110141)

Step 2 in instructions in the InfoCenter on "Installing Oracle 8i Release 3 (8.1.7)" for HP-UX should not reference the SHMMIN parameter. There is no such configurable parameter in HP-UX 11.0.

Manually set SHLIB_PATH variable on some installations of iPlanet Web Server (108778.RN)

On some installations of iPlanet on an HP-UX machine, it is necessary to manually set the SHLIB_PATH variable to /usr/lib before starting iPlanet with a plug-in configured for SSL. For example, in the korn shell, issue the following command before invoking the command to start iPlanet.

export SHLIB_PATH=/usr/lib

IBM HTTP Server did not correctly install on HP-UX due to low space on /usr (109630)

If your /usr partition is full, and you cannot find the IBM HTTP Server config file when installing Websphere Application Server with IBM HTTP Server and the IBM HTTP Server plug-in, there might have been a problem installing IHS. Check /tmp/install.log. If you see a failure with the install_ihs_128.sh script, please check /var/adm/sw/swagent.log for errors. In that file, you will find a detailed error of what went wrong. IHS installs a 4 kilobyte file in /usr. Due to the way HP handles their partitions, you might have one megabyte of space left in /usr, and the IHS installation will still fail. If swagent.log says you are out of room in /usr while trying to install IHS, you will need to extend the /usr file system by the amount defined in /var/adm/sw/swagent.log. Once that is done, start the WebSphere Application Server installation again, and select IBM HTTP Server, and the IBM HTTP Server plug-in to install.

OLT and IBM Distributed Debugger does not install from a CD on HP-UX (110639, 110633.RN)

The Object Level Trace (OLT) and IBM Distributed Debugger install image requires that it be installed from a writable file system. Thus, on HP-UX, the default installation from the WebSphere Application Server installation program does not function.

To install the OLT/Debugger application on HP-UX, copy the install.class file in the hp/olt directory on the WebSphere CD to a writable file system. Assuming the WebSphere CD is mounted at /cdrom and the writable file system is at /tmp, the command is--

cp /cdrom/hp/olt/install.class /tmp

Next, install the OLT/Debugger using a graphical installation program or silent installation. To run the OLT/Debugger graphical installation program using the Java binary included with the WebSphere installation, enter the following command:

/cdrom/hp/java/bin/java -classpath /tmp ./install

To use a silent installation process:

  1. Create a file named install.script in /tmp with the following contents:
    destinationDirectory=/opt/ibm/debugger
    scriptPlay=true
    logToScreen=false
  2. Run the silent installation by entering the command:
    /cdrom/hp/java/bin/java -classpath /tmp install /tmp/install.script

Using Sybase as a repository on an HP machine (Defect 122525.RN)

Using Sybase as a repository is not supported in WebSphere Application Server Version 4.0.1, but is supported in WebSphere Application Server Version 4.0.3. Several files need to be modified before attempting to start WebSphere Application Server using a Sybase repository.

To work around this problem, perform the following steps:

  1. Before starting the installation of WebSphere Application Server, the Sybase database to be used as the repository should already be created.
  2. During installation of WebSphere Application Server Version 4.0.1 you will not have a Sybase selection to choose from during database selection, therefore, you need to select another database, for example DB2. For the database name you need to specify the database that you created for WebSphere Application Server. For the database home, choose the directory where Sybase was installed, for example, /opt/sybase12. For user ID and password, choose a database administration user ID and password for the database that you are using. Continue on with the installation.
  3. After installing WebSphere Application Server Version 4.0.1, install PTF 3 before attempting to start the administrative server. After installing PTF3 but before trying to start the administrative server you need to modify three files in the <was_root>/bin directory. The three files are:
    admin.config 
    setupCmdLine.sh
    startupServer.sh.
    

    Refer to following instructions to modify the three files:

    a. admin.config

    Go to the very end of the line that starts with com.ibm.ejs.sm.util.process.Nanny.adminServerJvmArgs= and change the directory for the JDBC library. Right after /opt/WebSphere/AppServer/lib/ext is the JDBC library that WebSphere Application Server will use to find the classes it needs. Whichever directory is specified there needs to specify the Sybase directory, such as /opt/sybase12/jConnect-5_2/classes/jconn2.jar

    For the line that starts with com.ibm.ejs.sm.adminServer.dbdataSourceClassName=, you need to specify com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource. Note that this information is case sensitive. If you selected DB2 as your database, the com in the class name would be in upper case. Make sure that you change it to lower case for Sybase.

    For com.ibm.ejs.sm.adminServer.dbserverName, select the host where the database is installed.

    For com.ibm.ejs.sm.adminServer.dbportNumber, choose the port for the database. The default for Sybase is 4100.

    b. setupCmdLine.sh

    The following environment variables need to be changed to:

    DBDRIVER_JARS=/opt/sybase12/jConnect-5_2/classes/jconn2.jar
    DBDRIVER_PATH=/opt/sybase12
    DBTYPE=Sybase
    DB_INSTANCE_HOME=/opt/sybase12
    

    c. startupServer.sh

    The following "else if clause" needs to be added to the section where the script checks to see what database type has been specified.

    elif [ "${DB_TYPE}" = "Sybase"]
    

    then

    {
     DB_CLASSPATH=$DB_INSTANCE_HOME/jConnect-5_2/classes/jconn2.jar
    }
    
  4. Start the administrative server.

If you receive an error similar to:

An error occurred converting UNICODE to the charset used by the server.  Error 
Message: java.io.CharConversionException: java.io.Unsupported Encoding Exception : 
hp-roman8

You need to set the charset that you want WebSphere Application Server to use. Modify <was_root>/bin/admin.config and add com.ibm.ejs.sm.adminServer.dbconnectionProperties=CHARSET=utf8;SELECT_OPENS_CURSOR=true where utf8 is the charset that you want to specify.

To the above setting you may need to specify CHARSET_CONVERTER_CLASS=com.sybase.jdbc2.utils.TruncationConverter. Note that the SELECT_OPENS_CURSOR is referenced in defect 119886.RN .

Linux operating systems

Configuring Netscape Version 4.7.6 on SuSe (104266)

If you install WebSphere Application Server Advanced Single Server Edition with SuSe Version 7.1 and Netscape Version 4.7.6, you must change the following Netscape configuration values in order for the tree view on the left side of the administrative console to display properly.

  1. Start your Netscape browser.
  2. Select Edit -> Preferences.
  3. Select Advanced, and then check the Enable Java and Enable JavaScript check boxes.
  4. Click OK.
  5. Start the administrative console from the URL: http://your_machine_name:9090/admin.

After enabling SSL with Apache HTTP Server plug-in on RedHat 7.1, Apache HTTP Server does not start (105196, 105196.RN)

When running Apache HTTP Server on Redhat 7.1 Linux systems with the plug-in configured for SSL, before starting Apache you must set the LD_PRELOAD environment variable to the following value:

/usr/lib/libstdc++-libc6.1-1.so.2

For example, if you are using the korn shell, you enter the following before starting Apache HTTP Server:

export LD_PRELOAD=/usr/lib/libstdc++-libc6.1-1.so.2

Oracle 8i lacks the JDBC 2.0 driver classes12.zip (115823, 115823.RN)

The Oracle 8i distribution does not provide the JDBC 2.0 driver file classes12.zip for Linux platforms. As a workaround, download the Solaris classes12.zip file from the Oracle Web site:

  1. Go to http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html. You might need to register on the Oracle Web site before you can download from the Oracle Web site.
  2. Under Oracle JDBC Drivers and Download the drivers Solaris, click the link Oracle8i 8.1.7.1 (Patch) JDBC Drivers for use with JDK 1.2.x for Solaris.
  3. Read and then accept the license terms.
  4. Under Oracle8i 8.1.7.1 JDBC Drivers for use with JDK 1.2.x, click the link JDBC-Thin, 100% Java and download the driver file.

Note that you can use the Java thin driver only and any attempts to use the OCI (thick) driver will result in errors. For more information on the problem, contact Oracle Technical Support.

The message broker never completes starting for the WebSphere Application Server MQSeries SuSe V7.2 on a Linux platform (Defect 116467.RN)

The message broker never completes starting for the WebSphere Application Server MQSeries SuSe V7.2 on a Linux platform. When issuing the "strmqbrk -m <Queue Manager>" command it never completes. Also, the command cannot be interrupted with CRL-C. If you check the status of the message broker with the dspmqbrk command the result is always:

 "MQSeries message broker for queue manager <Queue Manager> starting."

This means that no WebSphere applications that use Publish/Subscribe can be run on Linux SuSe V7.2.

Updating the values of kernels and glibc when apply WebSphere Application Server Version 4.0.3 on RedHat (Defect 119386.RN)

Due to a Linux kernel defect in kernels less that 2.4.10, the floating stack support in the JDK does not work correctly on SMP machines. To apply WebSphere Application Server Version 4.0.3 on an SMP machine, the kernel needs to be >= 2.4.10 and glibc needs to be = 2.2.4. Please check with your distribution provider for kernel and glibc upgrades.

In the case of RedHat, the user can set the environment variable LD_ASSUME_KERNAL=2.2.5 by export LD_ASSUME_KERNEL=2.2.5 That variable enables a modification made by RedHat to disable floating stack support and thus allowing the JDK to work to default to a non-floating stack mode which will work on pre 2.4.10 kernels. Please note that setting that variable does not make the programs assume they are running on a 2.2 kernel. It merely disables the floating stack features.

Uniprocessor machines are unaffected by this kernel defect.

Solaris

Minimizing installation window causes failures (Defect 121011)

When installing WebSphere Application Server V4.0 , if you minimize the installation window and again maximize it, the install option panel gets hidden behind the Installation Window. This is a known problem with motif in Solaris and JDK window tooling.

If installation window is minimized, it may need to be resized it or click Alt + F3 upon restoration to view the Install Option panel again.

Exception returned at startup on Solaris 2.8 with Domino Web server and the plug-in configured for SSL (106012.RN)

On Solaris 2.8 systems running the Domino Web server with the plug-in configured for SSL, the server will have an exception at startup. This results from some incompatibilities with Domino and C++ code. The fix for this is to disable the SSL transports in the plugin-cfg.xml file.

This problem has not been seen on Solaris 2.7 systems.

Installing Merant Sequelink server on Solaris (109652)

The install.sh script from the Merant Sequelink Server 5.1CD for Solaris contains the statement which NISCAT, which might cause the script to fail for some systems.

This script assumes that this module is available on every Solaris system. If you run the install.sh script and it fails on this command, remove the command and the Merant Sequelink Server should install correctly.

Prerequisite checker notes Solaris patches that are higher or lower than the required patches (110405.RN)

If the WebSphere Application Server prerequisite checker finds Solaris patches that are higher or lower than the required patches on your system and there are multiple versions of a particular patch installed on the same system, the prerequisite checker will show all versions of the patch found. If a higher or equal version of the patch is installed, you can ignore the warning associated with the lower-version patch entry.

Windows

WebSphere installation program does not update the Windows system path with the GSK library path when IBM HTTP Server is not installed (114353.RN)

If you are installing WebSphere Application Server onto a Windows platform using the Custom installation option and choose not to install IBM HTTP Server, you must manually add the path for the GSK library to the system path. This is only necessary if you want a Web server plug-in other than the IBM HTTP Server plug-in to communicate with the application server using SSL. After adding the path, reboot your system so the plug-in will load into the Web server properly. Typically, the GSK is installed on the C: drive, in which case you add 'C:\Program Files\IBM\gsk5\lib' to the system path.

The incorrect DSAPI filter file may be added for the Lotus Domino plug-in during installation on AIX and Windows platforms (105880, 105880.RN)

If you select the Lotus Domino plug-in during WebSphere Application Server installation, the new DSAPI filter may not work properly on AIX and WIN platforms. This is because the WebSphere installation did not add the correct DSAPI filter file name.

The DSAPI filter files, which are located under the WAS_HOME/bin directory, include--

Windows
domino5_http.dll
AIX
libdomino5_http.a
Solaris
libdomino5_http.so
HP-UX
libdomino5_http.sl

Use the following steps to enable the new DSAPI filter. (These steps assume AIX is the example operating system.)

  1. Open the Domino server document, either in a Notes client or in a browser. Go to the Internet Protocols tab. In the DSAPI filter file names field under the DSAPI heading, delete any WebSphere DSAPI filter entry and add the full path to DSAPI filter file name (for example, for AIX):
    /usr/WebSphere/AppServer/bin/libdomino5_http.a
  2. Restart the Lotus Domino server. While it is starting HTTP task, you will see the line: WebSphere DSAPI filter loaded. This means the new filter is loaded and WebSphere is ready to use the Domino HTTP server.

Using iPlanet Web Server with WebSphere requires specific Windows user ID and rights (110672)

Before installing and testing iPlanet Web Server, Enterprise Edition 4.0, ensure that your machine is using the same administrative ID that WebSphere Application Server will use and that the ID's user rights include the advanced user right "Act as part of the operating system." To check and set user IDs and user rights, go to the User Manager. (On Windows NT, select Start -> Programs -> Administrative Tools (Common) -> User Manager.) The Windows help provides information on the User Manager.

-prereqfile flag not needed for Prerequisite Checker on Windows

The information on installing WebSphere Application Server on Windows instructs users who have downloaded a new prereq.properties file or disabled the Prerequisite Checker to enter the command:

setup.exe -prereqfile c:\tmp\prereq.properties

The -prereqfile option is not needed on Windows. Instead, enter the command:

setup.exe c:\temp\prereq.properties

Uninstallation

Ignore errors encountered during uninstall of PTF (Defect 127110)

If you encounter errors similar to the following messages when uninstalling this FixPak, you can ignore the messages. The uninstall completes successfully.

./java/jre/bin/java -jar ./jdk_ptf_3_backup.jar -TargetDir ./java_ptf_3 -log ./logs/jdk_ptf_3_uninstall.log -TmpDir .
Error 102 -- Incorrect Java version.

./java/jre/bin/java -jar ./J2C_ptf_3_backup.jar -log ./logs/j2c_ptf_3_uninstall.
log -TmpDir .
Error 102 -- Incorrect Java version.

FixPak 3 uninstallation script, if run to correct a faulty FixPak installation, might produce a benign error condition (112982.RN)

The FixPak 3 installation program for WebSphere Application Server Version 4.0 updates major components such as the WebSphere Application Server, IBM Software Development Kit, IBM HTTP Server, and Connector Technology. If during the installation a failure occurs, the installation program instructs you to run the uninstallation script. The script tries to uninstall all of the major components, which might or might not have been installed. If the components were not installed, the uninstallation script will produce an error message reflecting its inability to uninstall components which were not installed. Ignore this error message.

Preserving applications before uninstalling FixPak 3 (116929.RN)

If you install applications into the WebSphere Application Server Advanced Single Server Edition after installing Version 4.0 FixPak 3 and later uninstall FixPak 3, the server-cfg.xml file will be restored to the configuration existing prior to the installation of FixPak 3 and you will not be able to use your applications. To preserve your applications added after the installation of FixPak 3, do the following:

  1. Copy the config/server-cfg.xml file to a safe location.
  2. Uninstall FixPak 3.
  3. Move the copied server-cfg.xml file back to the original location.

Remove JVM Java2 properties from the server if you uninstall FixPak 2 (117124)

If you uninstall FixPak 3 of WebSphere Application Server Version 4.0 and have Java2 security enabled, you must remove the JVM Java2 properties from the server settings or change the JVM Java2 property enableJava2Security setting to false before attempting to start the application server. If you do not remove the Java2 properties or set enableJava2Security to false, the application servers will not start. If you previously installed FixPak 2 and only removed FixPak 3, then you do not need to make these changes and the Java2Security enabled servers should start normally.

Packages are not registered with the RPM database on Linux (97397)

When you install WebSphere Application Server Version 4.0.1 on Linux (Intel), the packages are not registered with the RPM database. As a result, you cannot use native tools to uninstall WebSphere Application Server 4.0.1 Instead, follow the instructions in the article "Uninstalling WebSphere Application Server" to remove WebSphere Application Server from your machine. If you want to migrate an existing WebSphere Application Server installation to Version 4.0.1, refer to the Migration overview in the Version 4.0 InfoCenter for instructions.

Log in as root before uninstalling the product on Linux (104863.RN)

If you attempt to uninstall the WebSphere Application Server on a Linux machine as a non-root user, the following error messages display:

Error trying to calculate for /opt/WebSphere/AppServer/properties/sas.server.props
Error trying to calculate for /opt/WebSphere/AppServer/properties/sas.client.props

To avoid the errors, log in with the root user ID and try uninstalling the product again.

HP-UX installation fails when installing to a directory containing files locked by the operating system (109045)

If you uninstall WebSphere Application Server on an HP-UX machine without shutting down the server or if you attempt to install the product to the same directory as an existing version, the installation fails. In these cases, when the second installation process attempts to copy over files laid down by the first install, the process finds the files locked by the operating system and the installation fails.

To work around this problem, complete the following steps:

  1. Reboot the machine.
  2. Remove the WebSphere directory by running rm -rf install_directory, where install_directory is the fully qualified location of the previous WebSphere installation.
  3. Proceed to install WebSphere 4.0.1 normally.

Uninstalling WebSphere Application Server does not uninstall iPlanet or Apache plug-in (104521, 104599.1)

After you uninstall WebSphere Application Server, if you cannot restart the iPlanet Web server or the Apache HTTP server, the problem may be that the uninstall program did not remove the plug-in information from the obj.conf file.

To work around this problem for iPlanet, remove the following lines from the obj.conf file:

Init fn="load-modules" funcs="as_init,as_handler,as_term" shlib="full/path/to/module"  Init fn="as_init"
 bootstrap.properties="full/path/to/plugin/config/file"  Service fn="as_handler"

To work around this problem for Apache, remove the following lines from the httpd.conf or srm.conf file:

LoadModule app_server_http_module full/path/to/module Optional AddModule mod_app_server_http.c  
WebSpherePluginConfig full/path/to/config

Then, restart the server.

Migration

Read the problems and fixes that apply to your situation:

All operating systems

Adding the node's dependent class path entries to each application server's class path (Defect 123015.RN)

When migrating from WebSphere Application Server Version 3.0.x to WebSphere Application Server Version 4..0.x, the node's dependent class path entries must be added to each application server's class path if the entries are applicable and not already included as entries on the application server's class path.

Applying e-fix to enable the Object Request Broker (ORB) to be able to handle the difference in the java.math.BigDecimal class in IBM Software Development Kit 131 and IBM Software Development Kit 130 or IBM Software Development Kit 122 (Defect 119565.1)

If you are passing the java.math.BigDecimal class between two different WebSphere Application Server domains and you migrate one of the domains to WebSphere Application Server Version 4.0.3 with IBM Software Development Kit 131, you might have problems. The reason is that the java.math.BigDecimal class was modified in IBM Software Development Kit.

IBM Software Development Kit 131 and the Object Request Broker (ORB) on older versions of WebSphere Application Server may not be able to handle the differences. There are no problems passing this class between WebSphere Application Server Version 4.0.3 and WebSphere Application Server Version 3.5.6.

There are e-fixes for the ORB in WebSphere Application Server Version 3.5.5, WebSphere Application Server Version 4.0.1, and WebSphere Application Server Version 4.0.2 to enable the ORB to be able to handle the differences in the java.math.BigDecimal class in IBM Software Development Kit 131 and IBM Software Development Kit 130 or IBM Software Development Kit 122. The e-fix for WebSphere Application Server Version 3.5.5 is PQ60335. The e-fix for WebSphere Application Server Version 4.0.1 is PQ60336. The e-fix for WebSphere Application Server Version 4.0.2 is PQ60336.

The e-fixes for WebSphere Application Server Version 3.5.5, Version 4.0.1 or Version 4.0.2 are also required if your own code passes a class between WebSphere Application Server Version 4.0.3 and an earlier level of WebSphere Application Server and that class has a different version on the two WebSphere Application Server domains.

Note that this applies to the IBM Software Development Kit on all operating systems except Solaris.

Ignore the migration failure message and these error messages (Defect 119507.RN)

If the following error messages are found in the WASUpgrade.log when migrating from WebSphere Application Server Version 3.5.x. Standard Edition to WebSphere Application Server Version 4.0.x.:

MIGR0206E: Unable to copy directory. The source /usr/WebSphere/AppServer/ deloyedleEJBs does not exist.

MIGR0206E: Unable to copy directory. The source /usr/WebSphere/AppServer/ deployedEJBs does not exist.

These error messages will cause the WASPreUpgrade.log file to indicate that migration has failed. You can ignore the migration failure message and these error messages.

Migrating servlet classes, Java servlet pages (JSPs), and Web resources from WebSphere Application Server Version 3.x to 4.0.x (Defect PQ56906)

When migrating from WebSphere Application Server Version 3.x to Version 4.0.x, the document root and classpath attributes of Web applications Version 3.x are used as pointers to the files that are copied into the .war file. Migration assumes that these paths are either fully qualified paths or symbolic links. Therefore when the paths are relative to the working directory on the application server, the files are not being copied over into the .war file.

If migration has not been been performed, the document root and classpath attributes should be modified to reflect the fully qualified path or symbolic link using the Admin Console.

Perform either of the following methods when migration has been run and servlet classes, Java servlet pages (JSPs) , and Web resources are not moved to the WebSphere Application Server Version 4.0 environment:

Using the webModuleAdditionalClasspath option when migrating Web applications (113462.RN, 117191.RN, PQ53951.RN)

When migrating from WebSphere Application Server Version 3.x to 4.0.x, the migration tool uses the classpath attribute of a Web application in 3.x as a pointer to the servlet code for the Web application. The tool normally copies all files found under each path entry into the .war file's class or lib subdirectory. Included in the copying are any files that multiple Web applications use that are centrally located, provided that the files are included as a classpath path entry of the Web application.

For example, if a Web application has the following classpath path entries, the tool copies all files found under the servlets, utilities and lib directories to the .war file.

<web-application name="webApp1" action="update">
  <classpath>
      <path value="e:\WebSphere\AppServer\hosts\default_host\webApp1\servlets"/>
      <path value="e:\utilities"/>
      <path value="e:\libraries\version2\lib"/>
  </classpath>
<web-application name="webApp2" action="update">
  <classpath>
      <path value="e:\WebSphere\AppServer\hosts\default_host\webApp2\servlets"/>
      <path value="e:\utilities"/>
  </classpath>

FixPak 2 of WebSphere Application Server Version 4.0 adds a new command line parameter to the WASPostUpgrade file called -webModuleAdditionalClasspath. This parameter allows you to specify the path and file names of specific files that you do not want copied into the .war file. Instead, the one or more files specified by the -webModuleAdditionalClasspath parameter are added to the Web Module's extension (ibm-web-ext.xmi) additionalClassPath attribute based on each Web application's classpath entries. In addition, you can specify directories that contain files you do not want copied into the .war file. Instead, the directories and any .jar file found in the specified directories or any of their subdirectories are added to the Web Module's additionalClassPath attribute based on each Web application's classpath entries.

Continuing the example above, suppose there is a commonUtilities.jar file under the e:\utilities directory and files under the e:\libraries\version2\lib directory that should not be saved to the .war files. You can invoke the WASPostUpgrade file by issuing the command below on Windows platforms. (Do the equivalent for UNIX platforms.) As to the command, c:\backup_directory is the migration backup directory and wsnodename is the adminNodeName. Note that the one-line command is shown here on two lines to improve readability.

WASPostUpgrade c:\backup_directory -adminNodeName wsnodename
   -webModuleAdditionalClasspath e:\utilities\commonUtilities.jar;e:\libraries\version2\lib

The commonUtilities .jar file and all files found under the lib directory (and its subdirectories) of the e:\libraries\version2\lib path are not copied to the .war files. Also, the following entry appears in the ibm-web-ext.xmi file of the Web Module for webapp1 migrated to Version 4.0.x:

additionalClassPath="e:\utilities\commonUtilities.jar;e:\libraries\version2\lib" and the following entry appears in the ibm-web-ext.xmi file of the Web Module for webapp2 migrated to Versin 4.0.x:

additionalClassPath="E:\utilities\commonUtilities.jar;"

Updating manually each clone when migrating a model-clone to WebSphere Application Server Version 4.0.3 (Defect 121389.RN)

FixPak 2 for WebSphere Application Server Version 4.0 added clone-only attributes to the list of attributes for server groups.

Please refer to InfoCenter article 6.6.22.0: Server group properties to see what attributes are clone-only.

This affects which server group attributes can be updated using XMLConfig. Those attributes that are identified as clone-only will be ignored if they are specified.

As a result, when migrating a model-clone to WebSphere Application Server V4.0.2 or later, not all server group properties are propagated to each clone.

After migration, you will need to manually update each clone to set these types of server group properties. Each clone will have their standard output set to stdout.txt and standard error set to stdout.err.

Save directories before migrating (109726.1)

If you plan to migrate from WebSphere Application Server Advanced Single Server Edition to the Advanced Edition, save a copy of the following directories before starting the migration process:

\config
\installableApps
\installedApps
\properties

After the migration is successfully performed by the install process, restore the above mentioned directories back to the Advanced Edition install directory.

Back up sas.server.props before migrating (110556.1, 110556.2)

The sas.server.props file contains critical information for the administrative server. Back up the sas.server.props file before migrating.

/tmp/WAS*.properties deleted during prerequisite upgrades (110046.RN)

When the pre-migration process completes, a file named WAS_MIGRATION_TEMP.properties is stored in /tmp directory and is also stored in the migration backup directory specified during the pre-migration process. If you upgrade the operating system level on this machine, you need to copy this file from the migration backup directory to the /tmp directory. The /tmp directory is emptied during the operating system level upgrade.

Copy the admin.config.bak file before starting the administrative server (110477.RN)

The migration process for the WebSphere Application Server Advanced Edition updates the admin.config file in the WebSphere 4.0.x bin directory. One of the side effects of this update is that blank characters and comments are removed from the file during this processing.

After WebSphere is installed, there is a copy of the admin.config file called admin.config.bak in the bin subdirectory. However, this file is erased when the administrative server is started. It is advisable to copy the admin.config.bak file to another name before the administrative server is started. This file can then be used as a record of the original values in the installed admin.config file.

Ignore FileNotFoundException messages when migrating (103153, 103153.RN)

When migrating from Version 3.0.2.x to Version 4.0.x, the WASPreUpgrade program is run. The program returns java.io.FileNotFoundException messages. The file not found is content-type.properties. Ignore the exception messages.

Migrating manually if migration fails (105661.RN)

If you are migrating WebSphere from Release 3.x to Release 4.0.x while running the WebSphere installation program and a severe error occurs while saving the existing Release 3.x environment, perform the steps below to migrate the Release 3.x configuration. Note that the steps are for Windows- based systems; for UNIX-based systems add .sh to the command line.

  1. Proceed by clicking Next or OK until the installation program completes.
  2. Move to the bin directory found under the migration_temporary_directory.
  3. Invoke the WASPreUpgrade file by issuing the following command:
    waspreupgrade c:\backup_directory c:\current_3.x.x_WebSphere_directory nodename

    where nodename is the adminNodeName. Note that in some cases the waspreupgrade command may not be totally successful. To ensure that a valid configuration has been saved, verify that the file c:\backup_directory\websphere_3x_backup.xml exists. If it does not, then enter the following command from the c:\current_3.x.x_WebSphere_directory:

    xmlconfig -export c:\backup_directory\websphere_3x_backup.xml -adminNodeName nodename
  4. After the preceding step completes, shut down the WebSphere 3.x.x Administrative Server.
  5. Run the WebSphere 4.0.1 Application Server installation program. Do not check the Perform Migration check box in the Previous Installation Detected panel.
  6. After the WebSphere installation program runs, move to the bin directory under the 4.0.1 WebSphere directory.
  7. Invoke the WASPostUpgrade file by issuing the command following.
    WASPostUpgrade c:\backup-directory -adminNodeName nodename

Error message as to the JDBC location driver when upgrading the database level (105949.RN, 109546.RN)

A problem may occur after migrating a configuration from Release 3.x to Release 4.0.x relating to the JDBC Driver configuration. The problem shows up with an error message similar to--

javax.naming.NamingException: ClassNotFoundException: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource

This can happen if the data store in use required a prerequisite upgrade and this upgrade is stored in a different directory location than the original data store version. The problem occurs because the JDBC configuration that is defined in the Release 3.x configuration uses drivers from the original data store version and its related directory names. When this configuration is exported and then imported into the Release 4.0.1, the original directory names are used instead of the new data store version.

To correct the problem on the Advanced Edition, change the JDBC Driver Server class path entry to use the new data store directory names in the administrative console under the Resources tree.

To correct the problem on the Advanced Single Server Edition, modify the server configuration file in the config directory. The default file is server-cfg.xml but you can choose to use a different file. Modifications are required to Resource Provider stanzas to use the correct class path name. For example, if you are using DB2, change the following from:

<installedResourceProviders xmi:id="ResourceProviderRef_3" classpath="/home/
db2inst1//sqllib/java/db2java.zip" resourceProvider="JDBCDriver_3"/>

to:

<installedResourceProviders xmi:id="ResourceProviderRef_3" classpath="/home/
db2inst1//sqllib/java12/db2java.zip" resourceProvider="JDBCDriver_3"/>

The problem also may occur if you migrate and use the same directory structure. As to Windows NT, an old copy of db2java.zip remains in your lib directory. That copy is loaded instead of the one pointed to by the JDBC Driver Server class path. The solution is to remove the db2java.zip in the WebSphere lib directory.

Migrating a multi-node model-clone domain (109545.RN)

When migrating a multi-node model-clone domain to WebSphere Application Server 4.0.x, the following error will be displayed in the output of the XMLConfig Import when the same .ear file is migrated and installed on nodes other than the first node that is migrated:

XMC0100E: Update action is not supported on this type of object. To reinstall the application, 
use "delete" action followed by "create" action, on enterprise-application element.

Disregard this error message.

In addition, the Web and EJB module names contained in the .ear file installed on the first node that is migrated will be included in the repository. If the Web and EJB module names contained in the same .ear file installed on subsequent nodes through migration do not match, the .ear file installed on the first node that contains those modules must be manually installed and expanded on the node where the names do not match. Complete steps such as the following (for Windows NT or Windows 2000; do the equivalent for UNIX platforms):

  1. Copy the .ear file found in the installableApps directory of the first node to the installableApps directory on the node you want to install, and expand it.
  2. From a MSDOS Command Prompt, move to the bin directory under your WebSphere 4.0.x server root.
  3. Invoke the EARExpander.bat file by issuing the following command:
    EARExpander -ear e:\WebSphere\AppServer\installableApps\Big3App.ear -expandDir 
      e:\WebSphere\AppServer\installedApps\Big3App.ear -operation expand -expansionFlags war

    where e:\WebSphere\AppServer\installableApps\Big3App.ear is the .ear file you want to expand and e:\WebSphere\AppServer\installedApps\Big3App.ear is the directory in which to expand the .ear file.

Duplicate entries error resulting from migrating multiple ports (110185.RN)

An error might occur if multiple ports are migrated for the same application server. Ports with duplicate entries might result. Use the WebSphere administrative console to modify the port values in the Web Services settings.

Regenerating the plugin-cfg.xml in a server group environment (110233.RN)

When migrating a multi-node model-clone domain to WebSphere Application Server 4.0.x, you must manually update the Web server plug-in for each node after the final node has been inserted into the domain. To manually trigger an update of the configuration for the WebSphere plug-in, for each node:

  1. Locate the node in the tree view.
  2. Right-click the node and then select Regen Webserver Plugin.

Ignore multi-node server group .ear naming conflict (110265.RN)

When migrating a multi-node model-clone domain to WebSphere Application Server 4.0.x where the DefaultApplication.ear is created and installed in a server group, the following exception will be thrown when the second node and any subsequent nodes are inserted into the domain:

Exception:  Failed to load other_node/defaultApplication
com.ibm.ejs.sm.exception.ActiveObjectException: Failed to load "otherNode"/defaultApplication

where other_node is the nodename of the node to which the console is not connected.

Disregard this exception as the application will run on all servers.

NoResourceException error returned after completing migration (105675.RN)

If the following error is seen after completing migration, the server-cfg.xml file will not match up with the .ear file directories included in the installedApps directory:

Exception - No resource for object: com.ibm.ejs.models.base.config.applicationserver.impl.WebModuleRefImpl    
(uri: ChainTest.war)  com.ibm.xmi.base.NoResourceException com.ibm.websphere.migration.exceptions.
WASUpgradeInternalErrorException: MIGR0228E: Unable to save configuration files.

To correct this problem, manually delete any .ear directory found under the installedApps directory that is not listed as an installedApp in the server-cfg.xml file.

To run WASPostUpgrade more than once after migration has completed successfully and .ear files have been installed in the installedApps directory including a DefaultApplication.ear, the DefaultApplication.ear must be uninstalled before invoking WASPostUpgrade. No other .ear files must be uninstalled.

To uninstall the DefaultApplication.ear, do the following:

  1. Start the administrative console and expand the tree on the left side of the console to locate Nodes -> localhost -> Enterprise Applications.

    The term localhost might be localhost or the host name of the machine on which the product is running.

  2. Click Enterprise Applications.
  3. Select DefaultApplication by clicking the check box to the left of it.
  4. Click Uninstall displayed above the list of installed applications.
  5. Click Uninstall again, as you do not want to export the application before uninstalling it.
  6. Follow the instructions on the resulting task wizard for uninstalling the DefaultApplication.
  7. Verify that the DefaultApplication has been removed from the list of applications located at Nodes -> localhost -> Enterprise Applications.
  8. Stop the server.
  9. Manually delete the DefaultApplication.ear directory found under the installedApps directory.
  10. Invoke WASPostUpgrade from the command line.

Migrating properties files and interceptors for WebSeal Versions 3.6 or 3.7 (111349)

Examine the properties files trustedservers.properties and webseal.properties installed with WebSphere Version 4.0 FixPak 3. With FixPak 3, all references to WebSeal 3.6 have been changed to WebSeal. If you have customized these property files, then add those customizations to the files that are installed with the FixPak. Do not continue to use webseal36.properties. Use the common interceptor for WebSeal Versions 3.6 and 3.7 called webseal.

If you write your own interceptor, ensure that the class file is in the WebSphere_installation_root\classes directory and the property files associated with your interceptor are in the WebSphere_installation_root\properties directory. Further, ensure that the interceptor class is public and uses a constructor that has no arguments.

Note that any interceptors that support initialization must extend WebSphereBaseTrustAssociationInterceptor. Also, they must continue to implement the TrustedAssociationInterceptor. For example:

public class WebSealTrustAssociationInterceptor
     extends WebSphereBaseTrustAssociationInterceptor
     implements TrustAssociationInterceptor

Finally, mutual SSL between WebSeal and HTTP server is supported in WebSeal Version 3.7. Ensure that SSL is set up correctly. WebSphere does not validate the mutual SSL setup.

AIX

Migrating to WebSphere Application Server 4.0.x on AIX 4.3.2.0 (110827)

Websphere Application Server 4.0.x will not run on AIX 4.3.2. Upgrade to AIX version 4.3.3 before migrating to WebSphere Application Server 4.0.x.

Linux operating systems

Migrating from WebSphere Application Server 3.02 on Linux (110099.RN)

When migrating from version 3.02 on Linux, an error may occur during pre-migration if JAVA_HOME is not defined in the WebSphere 3.02 setupCmdLine.sh file in the bin directory and the JAVA_HOME value cannot be correctly derived in the WebSphere 3.02 XMLConfig.sh file in the bin directory. To complete the migration, JAVA_HOME must be set to a valid value. Modify the JAVA_HOME setting in the WebSphere 3.02 setupCmdLine.sh file to point to a valid JDK 1.1.x directory to correct the problem and rerun the migration process again.

Security initialization error when migrating from 3.5.3 to 4.0.x on Linux (110018)

The format of the Systems Management database has changed significantly between release 3.x and release 4.0.x. If the database name that will be used for release 4.0.x is the same as was used for release 3.x, then the database must be removed and recreated during the migration process at the same time that prerequisites are updated. It is recommended that you use the default database name of was40.

Solaris

Migration not possible with GUI unsupported on Solaris 2.6 (110057.RN)

If you want to migrate from a previous version of WebSphere Application Server on a Solaris 2.6 machine, you must install all patches required by the JDK 1.3 product in order to run the pre-migration process. These patches are listed in the file README.sparc that comes with JDK 1.3 product.

Migration consideration on non-English Sun Solaris machines (109062.RN)

When you migrate from a previous version of WebSphere Application Server on a non-English Sun Solaris machine, the installation program will not detect the proper installation location of the previous install when attempting to migrate a Solaris, non-English, native-package that was installed to a location other than the default /opt location.

Starting Application Server components

Application server does not start, preventing access to administrative console (105983)

The application server process for the Advanced Single Server Edition will not start, preventing access to the administrative console. As a result, you cannot use the administrative console to correct any configuration problems that might be preventing the server from starting.

To fix this situation:

  1. Check the error logs to determine why the application server will not start. This situation can occur when you modify the process definition for the application server. WebSphere Application Server provides a separate server configuration file that is configured solely for running the administrative console. Start this application server by entering the command:
    startServer -configFile ../config/admin-server-cfg.xml
  2. Connect to the administrative console using port 9091 from your browser (note that this is a different port from the one assigned in the default server configuration file):
    http://localhost:9091/admin
  3. From the administrative console, open the server configuration file that is preventing the application server from starting. Correct the configuration and save the changes.

Alternatively, you can attempt to manually edit the offending server configuration file. You should always make a backup before making any manual changes.

Stopping the administrative server to prevent port 9000 error (109500)

WebSphere Application Server will fail to start if certain ports are in use. When the bootstrap port is in use, you may see the error below when starting WebSphere Application Server. This error is similar to the "Port 9000 in use error" when starting WebSphere Application Server.

009.765.6005c5b F Nameserver Failed to start the Bootstrap server
org.omg.CORBA.INTERNAL: minor code: 8 completed: No

To fix the problem on the Advanced Edition, change the bootstrap port (the default is 900) in the admin.config file, using the property name:

com.ibm.ejs.sm.adminServer.bootstrapPort="901"

If this property does not exist in file admin.config, add it. For more information, see the WebSphere Application Server Version 4.0 InfoCenter article "6.6.46.0: Administrative server configuration file properties."

To fix the problem on the Advanced Single Server Edition, edit the server configuration file (the default is WebSphere_installation_root/config/server-cfg.xml) and change the bootstrapPort value for orbSettings. For example, change

<orbSettings xmi:ed="ORBConfig_1" enable="true" bootstrapHost="localhost" bootstrapPort="900">

to

<orbSettings xmi:ed="ORBConfig_1" enable="true" bootstrapHost="localhost" bootstrapPort="901">

Administrative server does not start due to corruption of sas.server.props (110546)

Corruption of the sas.server.props file might cause the administrative server to fail to start. sas.server.props contains critical information for the administrative server. Back up the sas.server.props file regularly.

Administrative server does not start because the DB2 environment is not set up correctly (110569)

If you cannot start the administrative server because of a JDBC problem, the possible reason is that the DB2 environment was not set up correctly. To set up the DB2 environment:

  1. Become a DB2 user.
  2. Run DB2_HOME/sqllib/java12/usejdbc2
  3. Run DB2_HOME/sqllib/db2profile

Administrative server using the DB2 Network (Thin) client does not start because of errors in startupServer.sh (111190, 117110.RN)

If you are using the DB2 Network ("Thin") client, the script startupServer.sh will not run correctly. To change the script so it runs correctly, edit the startupServer.sh file and go to line 19. You will see the following code:

elif [ "${DB_TYPE}" = "DB2" ]
then
{
  DB_ENV=$DB_INSTANCE_HOME/sqllib/db2profile
  . ${DB_ENV?}
  DB_CLASSPATH=$DB_INSTANCE_HOME/sqllib/java12/db2java.zip
}

Change this code to the following:

elif [ "${DB_TYPE}" = "DB2" ]
then
{
  DB_ENV=$DB_INSTANCE_HOME/sqllib/db2profile
  if [ -f ${DB_ENV?} ]
  then
    . ${DB_ENV?}
  fi
  DB_CLASSPATH=$DB_INSTANCE_HOME/sqllib/java12/db2java.zip
}

After creation of the administrative repository, the administrative server fails to initialize and returns NumberFormatExceptions when started (111582.RN)

After you create the administrative repository database, you should allow the administrative server to initialize completely before setting the following properties to false:

The properties are in the logging.properties file in the WebSphere/AppServer/properties directory. You use the properties to control various aspects of event logging. If the properties are both set to false before the administrative server starts for the first time after a database is created, the administrative server might return NumberFormatExceptions and fail to initialize.

Administrative server will not start because AIX environment variable EXTSHM turned off (110634)

If the WebSphere Application Server Advanced Edition is installed on an AIX system with a local DB2 server and the commands below (as described in the InfoCenter) were executed previously to configure DB2, the administrative server should start successfully when first started.

4. Set the EXTSHM environment variable by entering the following commands:
       $ EXTSHM=ON
       $ export EXTSHM
       $ db2set DB2ENVLIST=EXTSHM

Later, when the administrative server is stopped or the system is shut down, DB2 will stop as well. However, when you next back up the system and start DB2, the administrative server might fail with the following error when you try to start it:

Could not initialize persistent storage for serious events.
Got exception COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1224N
A database agent could not be started to service a request, or was terminated as a result of
a database system shutdown or a force command. SQLSTATE=55032

To recover from this problem, enter the above commands that set the EXTSHM environment variable and restart the server.

To prevent the environment variable from being turned off accidently again, add the above three lines of commands to the db2profile (assuming the db2profile is sourced using .profile) to ensure the variable is always valid.

Harmless NameNotFoundException returned when starting the administrative server (PQ53307)

When you start the administrative server, WebSphere adds information on the following exception to the activity.log file:

...
naming.NameNotFoundException: Name jdbc not found in context "local:".
...

The exception is harmless and you do not need to take any action to fix the problem. You can ignore this entry in the activity log.

Administrative console (GUI) and command line tools

Read the problems and fixes that apply to your situation:

All operating systems

EARExpander no longer collapses utility JAR or Zip files (Defect PQ61441)

EARExpander no longer collapses utility JAR or Zip files starting at Version 4.0.2 and above.

To work around this problem, you can do one of the following:

Icon identifies server group properties propagated to all clones (103550.2, 103550.3.RN, 116778.RN)

FixPak 3 for WebSphere Application Server Version 4.0 adds an icon to the right of attributes propagated to all clones on server group property sheets.
The icon is:

Note that the Remove push button is not available to clone System properties on the JVM Setting panel. The only way to remove the properties is to delete the appropriate name-value pair and then select Apply.

Server group properties have a new clone-only attribute (112540.3)

FixPak 3 for WebSphere Application Server Version 4.0 adds a new clone-only attribute to the list of clone-only attributes for server groups. The new attribute is the SystemProperties part of the JVMConfig attribute.

You can see what other attributes are clone-only in the InfoCenter article "6.6.22.0: Server group properties."

NullPointerException error on Advanced Single Server Edition XA recovery (104563.RN)

If the JDBC driver DB2XADataSource is configured and you restart the administrative server, a NullPointerException error occurs. To work around this error condition, complete the following steps:

  1. Change the directory path to /WebSphere/AppServer/tranlog directory.
  2. Rename tran1.log to tran1.log.org.
  3. Rename tran2.log to trans.log.org.
  4. Restart the server.

Log Analyzer help must be accessed using the Netscape Navigator browser (112719)

You can access HTML help for Log Analyzer using the Netscape Navigator browser only, even though in the tool's Preferences dialog there is an option that seemingly allows you to select either Netscape or Internet Explorer as the browser to display HTML help files. To specify the browser:

  1. In the Log Analyzer tool, select File -> Preferences.
  2. In Analyzer Preferences dialog, select Help entry under General folder.
  3. Select the Netscape Navigator browser from the Help Browser drop-down list.

Do not use a / character in an application or application server name (110205.1, 110353.RN)

When creating an application in the application install process, do not include a / character in the application name.

Similarly, when creating an application server using the WebSphere Application Server Advanced Edition, do not include a / character in the application server name. This is regardless of the method used to create an application server (wscp, AdminConsole, or XMLConfig).

Icon identifies server group properties propagated to all clones (103550.2, 103550.3.RN)

Server group property sheets now have an icon to the right of attributes propagated to all clones:

All UNIX operating systems

Accessibility limitations of Netscape browsers on UNIX (105758)

There are limitations of some Netscape browser implementations on UNIX or Linux platforms which may cause the WebSphere Advanced Single Server Edition administrative console to operate incorrectly with respect to accessibility. The administrative console has been designed to support accessibility requirements, when viewed in a browser that can run in accessiblity mode. If the console is viewed within a browser that cannot run in an accessibility mode, tab or cursor keys may become unavailable.

The workaround is to view the administrative console using an accessibility-mode capable browser, such as Microsoft Internet Explorer 5.5 or Netscape 4.73 on Windows NT or Windows 2000.

Linux operating systems

Adding EJB Reference windows on Linux needs to be resized (104327)

The Adding EJB Reference window does not show the Name field when it first opens. The window is accessed by clicking Add on the Adding EJB Reference window of the Create Application Client wizard. You have to resize the window to see the field.

Turning off the JIT option before running WSCP for Linux on zSeries (115711.RN)

To run WSCP successfully on Linux on zSeries (Linux 390), you must turn off the Just In Time (JIT) compile option in the shell that you are executing from. To do this, run the following:

export JAVA_COMPILER=NONE

To verify that the JIT option is indeed turned off, run the following:

java -fullversion

The reply tells you the version of Java and whether the JIT option is on or off.

Administrative console displays incorrectly in Netscape browser on Linux (109584)

The administrative console or login panel for WebSphere Advanced Single Server Edition might display incorrectly in a Netscape Web browser on Linux platforms. Instead of using a Netscape browser, use a Mozilla Web browser to display the administrative console and login panel.

Administrative console might appear small if you export the display from a Sun machine to a Linux system and start the console from a Telnet window (117165)

If you export the display from a Sun machine to a Linux system and start the administrative console from a Telnet window that accesses the Sun machine from the Linux system, the administrative console might appear in a small window with its panes unexpanded. The administrative console normally has several expanded panes that display different views. To improve the display, you can widen each pane so that the console has a normal appearance.

Application server

Application classlolders changes (Defect 120343.RN)

WebSphere Application Server Version 4.0.3 contains several changes for application classloaders. The following changes should be transparent to most applications.

Application servers that have a Module visibility setting of MODULE can hang during startup or runtime

Application servers that have a Module visibility setting of MODULE can hang during startup or runtime. Restarting the application server may circumvent the problem. To avoid the problem completely, change to use a Module visibility setting of APPLICATION, SERVER, COMPATIBILITY, or J2EE.

Application Assembly Tool (AAT)

Class loading errors returned when using the Application Assembly Tool (115729)

The framework in the AAT used for editing and verifying J2EE archives uses custom class loaders for Java reflection within the archive. In some situations, the class loader behavior in AAT is not consistent with the behavior in the run time. For example, you might receive validation errors when a class cannot be reflected. Or, you might encounter reflection problems or linkage errors when saving the archive.

Typically, these class loading errors result from one of two problems:

To avoid the class loading errors, correct the above problems.

Application Assembly Tool folders do not open when clicked (102343.1)

If you install WebSphere Application Server on a Linux RedHat machine that uses the Gnome desktop, double-clicking on the folder name or folder icon will not open the folder or file. This error is caused by an inconsistency between the JVM and the Sawfish window manager with respect to the X Events generated by multi-clicks.

There are two ways to work around this multi-click problem:

Verifying an .ear file returns an exception (105642)

The exception java.lang.ClassCastException may be thrown when you do the following:

  1. In the Application Assembly Tool, select File -> Open and open an .ear file.
  2. Select File -> Verify.

These steps verify the .ear file even though executing the steps may throw the exception.

Drag option is not working in the Application Assembly Tool (105643)

When you do the following in the Application Assembly Tool:

  1. Select File -> Open and open a .war file.
  2. Select File -> New -> Application.
  3. Select the top node from the .war file window and try to drag this to the webModule node in the new application window.

You cannot drag the .war file. To work around this problem, import the file (Ejb .jar/Web Module .war/Ejb client .jar ) from new application window tree node.

OutOfMemory error when using the Application Assembly Tool on AIX (109667)

When starting the Application Assembly Tool of the WebSphere Advanced Edition by entering assembly.sh on AIX, a java.lang.OutOfMemoryError exception may be returned. To resolve this problem, try adding the -mx192m option to the java command line in the assembly.sh file. The resulting java command line should resemble--

$JAVA_HOME/jre/bin/java \
  -Xmx192m  \
  -Dcom.ibm.itp.location=$WAS_HOME/bin \
  -Dserver.root=$WAS_HOME \
  -Dws.ext.dirs=$WAS_EXT_DIRS \
  -classpath $WAS_CLASSPATH com.ibm.ws.bootstrap.WSLauncher \
  com.ibm.ejs.assembly.gui.AssemblyTool

Application Assembly Tool documentation should not reference the Full Select feature for Entity EJB finders (110292, 110319)

The Full Select feature for Entity EJB finders has been removed from the Application Assembly Tool. Information on the Application Assembly Tool should no longer document the feature.

Resource Analyzer

Resource Analyzer displays incorrect values for JSP files after the application server restarts (110603)

If the application server is stopped and restarted, the Resource Analyzer might display incorrect values for JSP files and servlets. To display correct values for these resources, restart the Resource Analyzer.

Web servers

Running with Extended Application Programming Interface (EAPI) Compiled Apache on SuSE 7.0 SLES for Z/Linux (Defect 135929)

When running WebSphere Application Server with Apache (1.3.19-40) that is provided with SuSE SLES 7.0 (Linux for Z/OS), use the non-EAPI compiled WebSphere Application Server plug-in, even though this particular Apache version is Extended Application Programming Interface (EAPI) compiled.

When configuring the Apache httpd.conf file, change the following line:

LoadModule app_server_http_module opt/WebSphere/AppServer/mod_app_server_http.so

to

LoadModule app_server_http_module opt/WebSphere/AppServer/mod_app_server_http_eapi.so

When you start Apache with the non-EAPI module, the following warning appears:

[warn] Loaded DSO /opt/WebSphere/AppServer/bin/mod_app_server_httpd.so uses plain Apache 1.3 API,
 this module might crash under EAPI! (please recompile it with DEAPI)

In this situation, you can ignore the warning.

IBM HTTP Server does not start when SSL is used and the WebSphere Application Server is running (103882)

IBM HTTP Server might hang during initialization when it is configured for SSL and the Websphere administrative server is running.

To solve this problem, try any of the following workarounds:

gskikm.jar and IBM HTTP Server ikeyman conflict workaround (108144.RN)

If you install IBM HTTP Server with the WebSphere Java development kit 1.3.0 and WebSphere Application Server and attempt to define a key using the IBM HTTP Server ikeyman Hardware Crypto Menu options, the resulting window might be difficult to see and navigate in. Use a workaround for the appropriate platform to correct this problem:

AIX:

  1. Copy /usr/opt/ibm/gskkm/bin/gsk5ikm into a different directory.
  2. Modify the new copy of gsk5ikm, replace this line at the bottom of the file:
    $JAVA_EXECUTABLE $IKEYMAN_TEMP_JAVA_INPUT

    with this one-line statement (shown here on two lines to improve readability):

    $JAVA_EXECUTABLE -Djava.ext.dirs=/usr/opt/ibm/gskkm/classes/ikmuser.properties
       $IKEYMAN_TEMP_JAVA_INPUT
  3. Include /usr/WebSphere/AppServer/java/bin in your PATH environment variable.
  4. Execute the new copy of gsk5ikm.

Linux platforms:

  1. Copy /usr/local/ibm/gsk5/bin/gsk5ikm into a different directory.
  2. Modify the new copy of gsk5ikm, replacing the following line at the bottom of the file:
    $JAVA_EXECUTABLE $IKEYMAN_TEMP_JAVA_INPUT

    with this one-line statement (shown here on two lines to improve readability):

    $JAVA_EXECUTABLE -Djava.ext.dirs=/usr/local/ibm/gsk5/classes/ikmuser.properties
        $IKEYMAN_TEMP_JAVA_INPUT
  3. Include /opt/WebSphere/AppServer/java/bin in your PATH environment variable.
  4. Execute the new copy of gsk5ikm.

iPlanet Web Server 4.1 does not serve WebSphere servlets on Solaris (104613)

When running the WebSphere administrative server, a server error is returned when you try to run a servlet such as the sample servlet snoop. To enable the iPlanet plug-in to send the servlet to WebSphere Application Server, turn off the iPlanet servlet support:

  1. Start the IPlanet console.
  2. For the server that needs to be altered, click Manage.
  3. Go on the Servlet tab and, for the Activate Servlet Engine option, select No.
  4. Click OK.
  5. Click Save and Apply and the Web server will restart.

Log of Domino plug-in configuration failure may be incorrect on UNIX platforms (109968.RN)

On Unix platforms, the log of Domino plug-in configuration failures might include a false negative when Domino configuration code is run. If the DSAPI plug-in does not load, then use the manual Domino configuration instructions to troubleshoot the configuration. If the plug-in appears to load properly (that is, it is viewable in the Domino console startup messages), you can disregard the log error.

Working with HTTP servers

Use SessionReaperInterval to set the interval of the Invalidation Thread in the Session Manager (Defect PQ54352.doc)

PropertySessionReaperInterval is now a new system property. It can be used to set the sleep interval of the Invalidation Thread in the Session Manager.

The instructions for applying the System Property are as follows:

  1. Open Command line arguments of Application Server instance.
  2. Specify system property as -DSessionReaperInterval=interval(in sec).
  3. Apply the changes.
  4. Restart the Server instance.

An example of the instructions:

  1. From the Administrative Console, Select Default Server.
  2. From the Command line arguments, specify the property as -DSessionReaperInterval=600.
  3. Specify SessionReaperInterval <= 0, if you don't want to have a invalidation thread running in a server instance.

Data access

Read the problems and fixes that apply to your database:

DB2

DB2 net driver unsupported for remote access (109131)

The net driver for accessing DB2 remotely is not supported in this version of WebSphere Application Server. If you are using DB2 remotely, do not modify the dbServerName and dbPortNumber fields in the admin.config file. The use of the DB2 client installation and DB2 aliases is supported in order to access DB2 remotely.

UnsatisfiedLink error on XA Connect on AIX (105258, 105258.RN)

If your .ear file uses multiple data sources with the DB2XADataSource class, when you deploy the .ear file into the application server and restart the Administrative Server, an "UnsatisfiedLink Error" may be returned on the AIX platform.

The problem is in the LD_LIBRARY_PATH and LIBPATH on AIX. After running DB2 usejdbc2, the LIBPATH includes $INSTHOME/sqllib/java12, but the StartServer.sh overwrites the existing content of LIBPATH and sets it to $WAS_HOME/bin:$LD_LIBRARY_PATH. To fix the problem, include $INSTHOME /sqllib/java12 in the LD_LIBRARY_PATH. That is, for example, export LD_LIBRARY_PATH to /home/test/sqllib/java12:/home/test/sqllib/lib. Then, restart the server without errors.

Set CURSORHOLD=1 for Sessions data source (108511.RN, 116554)

When using DB2 UDB FixPak 3 as the Sessions data source, you must set CURSORHOLD=1 to prevent statements from hanging in the database. (If you are using a DB2 UDB FixPak later than FixPak 3, you do not need to change the setting.)

Set the CURSORHOLD property for the Sessions data source by specifying the following connectionAttribute custom property in the data source configuration, as follows:

property name: connectionAttribute
type: java.lang.String    
value: cursorhold=1

Note that the type field has to be set for the Advanced Single Server Edition only.

"NoSuchFieldError: batchReturn" in DB2 troubleshooting (108903.RN)

When you run DB2 on any UNIX platform, you may see the following error message:

java.lang.NoSuchFieldError: batchReturn

This error is caused because of a mismatch of db2java.zip files. To work around this problem, ensure that the db2java.zip file in the java12 directory is before the db2java.zip in the java directory in your classpath. A common problem is to install a JDBC driver using ~db2inst1/sqllib/java/db2java.zip, while you should have specified ~db2inst1/sqllib/java12/db2java.zip.

IBM Toolbox for Java (AS/400 Toolbox for Java) requires Modification level 4 and a PTF (110573)

To use the IBM Toolbox for Java (also known as the AS/400 Toolbox for Java) JDBC driver with WebSphere Application Server Version 4.0.x, you must use the most current version of the IBM Toolbox for Java Modification level 4 (5722JC1 or JTOpen). If you have installed the licensed product 5722JC1, you must also apply 5722JC1 PTF SI02195. After applying the PTF, replace the Toolbox .jar file (jt400.jar) on the workstation systems on which you are running WebSphere Application Server Version 4.0.x with the updated version from your iSeries system.

Script file db2390.sql needs a table definition (117217.RN)

If you are using a DB2/390 database, add the definition below to the WebSphere/AppServer/bin/db2390.sql script file before running a job stream on an OS/390 system. Without the definition, not all of the appropriate WebSphere repository tables will be created and the administrative server will fail to initialize when started unless the user ID used to connect to DB2/390 has CREATE TABLE authority.

CREATE TABLESPACE DOMTMPTS IN WAS4DIST
  USING STOGROUP SYSDEFLT
  PRIQTY 12
  SECQTY 12
  LOCKSIZE ROW
  DEFINE NO;

CREATE TABLE EJSADMIN.DOMAIN_TMPTBL (
  NAME        VARCHAR(255) NOT NULL
) IN WAS4DIST.DOMTMPTS;

System hangs when running WebSphere Application Server on Solaris 8 with DB2 (110336.RN)

When running WebSphere Application Server on Solaris 8 with a DB2 UDB database as the repository, your system might develop a hang condition. The hang condition occurs because of networking problems on Solaris. To fix the condition, do the following:

  1. Install the lastest recommended patch cluster from sunsolve.sun.com.
  2. If the patch cluster does not contain patch 109472-07, apply this patch from sunsolve.sun.com.
  3. Download and install WebSphere e-fix PQ51500.

Depending on your specific system, you may need one, two, or all three of these solutions.

Informix

Identifying row locking in on-line transaction processing (OLTP) applications (Defect 119115)

The table syntax created by WebSphere Application Server during deployment for Informix Database Server are created with the default locking mechanism for Informix. The default is "page locking". For on-line transaction processing (OLTP) applications, the user should identify which specific tables need row locking and change them manually.

Running the LifeinsMD application fails for the XADataSource with Informix (113633.RN, 115371.RN)

When using an XADataSource and Informix, running the LifeinsMD application fails for the XADataSource and results in the error condition below. The failure can occur on both the WebSphere Application Server Advanced Edition and the Advanced Single Server Edition.

CNTR0019E: Non-application exception occurred while processing method
  getNextId: com.ibm.websphere.cpi.CPIException: java.sql.SQLException:
    System error - invalid statement id received by the sqlexec process.;
      nested exception is: java.sql.SQLException:
        System error - invalid statement id received by the sqlexec process.
...

The Informix JDBC driver adversely affects the WebSphere Application Server cache prepared statements. To fix the problem, set the statement cache size to zero (0):

  1. Go to the administrative console.
  2. Ensure that the application server is not running.
  3. Expand WebSphere Administrative Domain, Resources, JDBC Providers and the Informix JDBC driver. Select Data Sources.
  4. In the right pane, select a data source (for example, LiagentInfDS) at the top of the pane.
  5. Go to the Connection Pooling tab.
  6. Set the value for Statement cache size to 0 and click Apply.
  7. Repeat the above steps for the remainder of the Informix data sources in the same JDBCprovider.
  8. Restart the application server.

The Advanced Single Server Edition might return error messages such as Configuration Problems have been detected or CHKW3019E: Conflicting statement cache size of the data source must be specified. Ignore the error messages.

Exceptions thrown in a WebSphere Application Server configuration using workload management (WLM) and Informix Version 7.31 (115430.RN)

If your WebSphere Application Server configuration is WLM-enabled, uses Informix Version 7.31, and has an application installed using a server group, severity 1 exceptions are thrown when you do either of the following:

Messages for the exceptions are shown in the administrative console messages area and detailed information on the exceptions are given in the tracefile and activity.log files. The messages resemble the following:

Ignore these exceptions. Your server clones and application will run successfully.

Oracle

Surrounding a query with () causes the Ora-01009 error or an empty result set (113709.RN)

If you are using the Oracle thin driver and the OCI driver, surrounding a query with parentheses ("()") results in the error "ORA-01009: missing mandatory parameter" and an empty result set (no data). This is an Oracle error (917674) and was fixed in the 817.2 fixset. To avoid the problem, either install Oracle fixset 817.2 or avoid surrounding queries with parentheses.

IO exception on Solaris machines with Oracle installed (102016.RN, 110607)

On Solaris and with Oracle as the administrative repository, the administrative console might hang intermittently if you try to stop and start the application server multiple times. If you experience this problem, recurrence can be minimized or eliminated by the doing all or some of the following:

  1. Installing the repository database locally (on the same node as WebSphere) and using the BEQ protocol.
  2. Using the OCI thick driver, which reduces the appearance of the problem. You might need to increase the heap size as well.
  3. Reducing the administrative repository statement cache to 0. This can be done by adding the following to the admin.config file:
    com.ibm.ejs.sm.adminServer.dbstatementCacheSize=0

    Then, restart the administrative server.

  4. Add the most recent Solaris cluster patch. (Ensure that the 109472-07 fix is included.)

Choices 1, 3, and 4 might eliminate the problem. Choices 2, 3, and 4 will reduce the appearance of the problem.

Setting connection pooling variables on Solaris or Linux (105924, 105924)

If you are using connection pooling with Oracle on Sun Solaris or Linux, it is recommended that you set the maximum number of files allowed open per user to at least 2048. You can do this using the ulimit command. Simply enter ulimit -n 2048 in the session where you will be running the application server.

It is also recommended on the Linux system that the JVM initial heap size and maximum heap size be set to 256 megabytes and 512 megabytes, respectively. Using the administrative interface, select Nodes -> node_name -> Application Servers -> server_name -> Process Definition -> JVM Settings. In the Initial Heap Size field, enter 256 and in the Maximum Heap Size field enter 512. Save the configuration and restart the application server to have the settings take effect.

SQL Server

TransactionRolledbackException returned when using the Merant type 4 driver for SQL Server 7.0 or SQL Server 2000 (115428.RN)

The Merant type 4 driver for Microsoft SQL Server Version 7.0 and SQL Server 2000 does not properly support the one-phase optimisation of a two-phase commit. If you use a connection from this type of data source within a distributed transaction that involves no other resources, then the transaction commit will fail with a javax.transaction.TransactionRolledbackException. If you use a connection from this type of data source in a distributed transaction that involves more than one resource or use the connection outside the scope of a distributed transaction, then the exception does not occur. The DataDirect case number for this problem is 1266610.

You do not get the exception if you use the Merant type 3 driver for SQL Server Version 7.0 and SQL Server 2000.

Sybase

Specifying settings when using Sybase (Defect 119886.RN)

Modify the data source property to connectionProperties when using Sybase. Also specify the settings as SELECT_OPENS_CURSOR=true

Sybase and Solaris network problems (106568.RN)

If you are using WebSphere Application Server on a Solaris machine and connecting to Sybase as the administrative repository, you may experience network problems. When you start an application server, numerous JZ006 errors may occur with chained JZOEM errors. At this point, the connection pool will get dropped. In addition, other connections may start to experience the following error:

SET CHAINED command not allowed within multi-statement transaction

To work around the SET CHAINED errors, place the following line into the admin.config file:

com.ibm.ejs.sm.adminserver.dberrorMap=EC226=com.ibm.websphere.ce.cm.StaleConnectionException

Note that JZ006/JZOEM and SET CHAINED errors will still occur with this workaround. However, the frequency will be reduced and WebSphere will be able to recover from the errors.

JDBC limitations with Sybase Server 12.0 (109324)

With Sybase as the administrative repository, the following DatabaseMetaData methods are not implemented as of the last Sybase EBF and will throw UnimplementedOperationExceptions.

getSchemaName()
getTableName()
getCatalogName()

When you install and use Sybase, be sure that you apply the latest EBF and search the accompanying Cover.ROLL.EBF# document that lists what patches and enhancements are a part of EBF# (where EBF# is the number of the latest e-fix available). In particular, look for the following EBF IDs:

1074408-11 CR255096
1074408-12 CR255094
1074408-13 CR255097

Sybase EBF 9422 required for Test Connection button (117161.RN)

During the creation of a data source, you can click on the Test Connection push button to determine if the data source is set up correctly before proceeding. When the data source is for Sybase, clicking Test Connection might return a JZ0C0 error indicating that the connection was already closed. If this problem occurs, you must install Sybase EBF 9422 or later. Note that, even if you encounter a JZ0C0 error, the administrative and application servers should work properly on EBFs prior to 9422.

Enterprise beans

Read the problems and fixes that apply to the type of entity bean used:

All entity beans

Update the implementation class for an enterprise bean (Defect PQ60263)

Dynamic reloading to update class for an enterprise bean is not available in WebSphere Application Server Version 4.0.3. If you want to update the implementation class for an enterprise bean, perform the following steps:

  1. Stop the module and/or the application.
  2. Update the class file.
  3. Start the module and/or the application.

Changes made to Connection Pooling (Defect 120566)

A significant performance improvement was introduced in WebSphere Application Server Version 4.02, which led to a change in the semantics for Prepared Statement cache in WebSphere Connection Pooling (Defect PQ53331 and 115405). But the improvement has changed the meaning of " Prepared Statement cache size" (Statement cache size).

In previous versions this value signified the total maximum number of Prepared Statements that would be cached in the data source or Pool. In this e-fix, the value still represents the number of Prepared Statements per datasource, but the number is now divided by the number of connections, giving you a number of Prepared Statements per connection. If the number of Prepared Statements is less than the number of connections, a minimum of 1 per connection is allocated. For example given 100 Prepared Statements, and 50 connections, you will have 2 per connection, and given 10 Prepared Statements and 50 connections, you will have 1 per connection. Customers may want to adjust the statement cache size. The default statement cache remains 100, and depending upon your connection pool size, this might be reasonable. For larger pool sizes, the statement cache size might need to be increased.

In V4.0, the statement cache size can be set from the Connection Pooling tab of the DataSource, it has its own filed, named "Statement cache size."

Errors returned when creating database tables using Oracle (103256.RN)

You may receive errors when creating database tables using Oracle when running the "Assembling, installing, deploying and accessing an EJB 1.1 application." To manually deploy the beans, do the following:

  1. Save the undeployed .jar into a directory.
  2. Use the deployment tool to deploy the beans. In this particular case, the command is:
    ejbdeploy EJB11Big3.jar tmp Ejb11Big3depl.jar -novalidate -dbvendor ORACLE_V8

Interoperability problems between the Advanced Edition and WebSphere for z/OS (106264)

You might encounter problems with interoperability between WebSphere Application Server Advanced Edition version 4.0.1 and WebSphere for z/OS versions 4.0.0 and 4.0.1 when applications deployed on WebSphere for z/OS attempt to use enterprise beans deployed on the WebSphere Advanced Edition. To exploit interoperability between WebSphere Advanced Edition and WebSphere for z/OS, check the RETAIN PSP bucket for the latest service recommendations for Websphere 4.0 for z/OS and OS/390.

Linkage error from class duplication among EJB jars (110048)

When using the default value of the Module visibility setting, if the application server Module property and your application includes multiple EJB .jar modules and the client module, without any dependency specification among the .jar modules, the Java client might return an exception such as the following:

Exception within loop - continuing - 
     java.rmi.ServerException: RemoteException occurred in server thread; 
        nested exception is: com.ibm.ejs.container.UncheckedException: ; 
        nested exception is: java.lang.LinkageError: Class com/ibm/wssvt/tc/pli/ejb/Person violates loader constraints
     java.rmi.ServerException: RemoteException occurred in server thread;
        nested exception is: com.ibm.ejs.container.UncheckedException: ;
        nested exception is: java.lang.LinkageError: Class com/ibm/wssvt/tc/pli/ejb/Person violates loader constraints
             com.ibm.ejs.container.UncheckedException: ; 
        nested exception is: java.lang.LinkageError: Class com/ibm/wssvt/tc/pli/ejb/Person violates loader constraints
     java.lang.LinkageError: Class com/ibm/wssvt/tc/pli/ejb/Person violates loader constraints

To fix this problem of class duplication among .jar modules, do the following:

  1. Reference the EJB .jar file in the MANIFEST Class-Paths of the client module. If multiple EJB .jar modules are referenced, place a blank space between the files. For example, suppose you have the file MANIFEST.MF (updated using Application Assembly Tool packaging) in the client .jar which looks like this:
    Manifest-Version: 1.0
    Main-Class: com.ibm.wssvt.tc.pli.apps.TestClient
    Class-Path: liagentna11.jar lipersonna11.jar lipolicyna11.jar
  2. Verify that there are no duplicated classes referenced in the EJB .jar files.

    For example, using the example in step 1, note that lipersonna11.jar created the classes "Person.class, PersonHome.class, PersonKey.class", which are also referenced by the other two .jars, liagentna11.jar and lipolicyna11.jar. However, during an earlier exporting of the EJB .jar file, the option Select reference types and resources included all referenced classes, meaning that the other two .jars, liagentna11.jar and lipolicyna11.jar, got the "Person ..." classes included too. The duplicate "Person ..." classes must be removed from these two .jars.

  3. Ensure the EJB .jar files with the common referenced classes are included in the classpath. For example, both liagentna11.jar and lipolicyna11.jar should specify lipersonna11.jar in their classpath field at packaging.

Error results when creating Informix tables if associations created with VisualAge for Java (110570.RN)

If you created a VisualAge for Java association, the default name of the relationship will cause problems because of the generated hyphen (-) in the table.ddl file. The hyphen creates a syntax error when attempting to create tables in an Informix database. To solve this condition, re-create the .jar files using Visual Age for Java, and at the step of adding the Association name; change the default name which contains the hyphen (-) character so it includes a hyphen (-) character instead; then the Schema will have the right syntax for both DB2 and Informix databases in table.ddl. .

EJBCommandTarget.jar needs to be moved out of the lib directory.

If you install the session bean in EJBCommandTarget.jar that is contained in the WebSphere_installation_root\lib directory, you will then have an EJBCommandTarget.jar in the WebSphere_installation_root\installedApps\EJBCommandTarget.ear directory. Having EJBCommandTarget.jar in these two places can cause classloader problems. To fix this problem, move this .jar file out of the WebSphere_installation_root\lib directory and place it in the WebSphere_installation_root\installableApps directory. This way, you will still have a copy of the original .jar, but it will not get picked up at run time by the wrong classloader.

Entity beans with CMP

"Invalid precision value" error from generated code for a TEXT column type (109743.RN)

Generated code for a CMP bean when using a Merant JDBC driver to access a database might cause errors if a TEXT column type for the database is used. For example, with the Microsoft SQL Server database, you might get the error [HY104][SQL Server]Invalid precision value. The code updating the TEXT field is bad if the field to be updated is NULL at the particular instance. The code generated asks the database to update the field as LONGVARCHAR when the field is NULL and as VARCHAR when field is not NULL.

Due to a bug in the Merant SequeLink Driver, the clearParameters method does not adequately reset parameters to allow prepared statements to be reused in all cases. The solution is to disable prepared statement caching on the BRBeans data source by setting the Statement Cache Size to 0. For the Advanced Single Server Edition, the Statement Cache Size property among the data source properties. For the Advanced Edition, it will be among the connection pooling properties of the data source.

Cannot compile EJBModules containing CMP-based entity beans that use primitive primary keys (109864.1.RN)

When compiling an EJBModule that has CMP-based entity beans which use primitive primary keys, you might get an error message resembling the following:

Compiling content of ejbModule/com/ibm/ejb/cb/samples/big3/tier2
  (12 problems found) Copying all resources on the classpath
  (12 problems found) Build done
  Java build completed
  Invoking Validation on /Big3BRB.jar.
ejbModule/com/ibm/ejb/cb/samples/big3/tier2/EJSCMPClaimHomeBean.java(62): 
                   The constructor java.lang.Integer() is undefined
...
ejbModule/com/ibm/ejb/cb/samples/big3/tier2/EJSJDBCPersisterCMPPolicyBean.java(197): 
                   The constructor java.lang.Integer() is undefined
Shutting down workbench.
Execution Halted: Compilation Errors Reported
12 Errors, 0 Warnings, 0 Informational Messages

Compilation halted because the deployment descriptor specified used a primitive object key (java.lang.Integer) but did not specify a key field to which the deployment descriptor should map. It was left as a compound key. Therefore, the deploy tool did not know which field to use as the key and returned the error messages.

As to the generated deployment descriptor in the above example, the <prim-key-class> element was set to java.lang.Integer but there was no <primkey-field> element specifying which <cmp-field> element should map to the primary key.

The solution is to use the Application Assembly Tool to specify which key field (other than compound key) should be used or to manually edit the ejb-jar.xml and add the <primkey-field> elements.

FinderException because of incorrect finder logic in an EJB server (109868.RN)

A javax.ejb.FinderException can occur when a finder method is called for an entity bean with CMP and the finder is defined incorrectly. This failure occurs when the finder returns more than one EJB object (returns either a java.util.Enumeration or a java.util.Collection) and the finder logic is encapsulated in a String constant named findMethodNameQueryString. The failure occurs because the SQL select statement encapsulated by the Java String constant is incorrect. Either the encapsulated SQL select statement does not include a complete list column names for each of the CMP fields, or the list column names does not appear in the order required to successfully hydrate the entity bean. The following is an example of the error that occurs when the encapsulated SQL select statement does not include all required column names:

ERROR: javax.ejb.FinderException: com.ibm.ejs.persistence.EnumeratorException
    original exception: com.ibm.ejs.container.ContainerInternalError:;
 nested exception is: COM.ibm.db2.jdbc.DB2Exception:
    [IBM][JDBCDriver] CLI0610E Invalid column number. SQLSTATE=S1002

Note that encapsulating the logic in a String constant named findMethodNameQueryString has been deprecated. What follows describes how to correctly create the finder logic in a EJB server so that the above failure and similar failures do not occur.

Creating finder logic in the EJB server

For the EJB server environment, the following finder logic is required for each finder method (other than the findByPrimaryKey method) contained in the home interface of an entity bean with CMP:

As an example, suppose the AccountHome home interface defines the following finder method:

Enumeration findLargeAccounts(float amount) throws RemoteException,
  FinderException;

You must also create the AccountBeanFinderHelper interface as follows:

public interface AccountBeanFinderHelper
{
  String findLargeAccountsWhereClause
    = "balance > ?";
}

You can use the Application Assembly Tool to define the finder logic as well. For each CMP entity bean, select your entity bean and Method Extensions choice in the Application Assembly Tool's tree view and set the Finder descriptor for each finder method. Using the Full select radio button is not recommended because it can easily result in the javax.ejb.FinderException being thrown when the required list and order of column names is not used. Use the Where clause radio button to obtain the correct list of column names and order.

CMP field of type StringBuffer does not work with Merant and SQL Server (110407.RN)

If a CMP bean is defined with one CMP field of type StringBuffer and a deployed ear is generated with a database type of image in the Table.ddl file, the table can be created successfully when the Table.ddl file is run but testing the CMP bean causes the following error message:

<operation failed>: java.rmi.ServerException: RemoteException occurred in server thread;
 nested exception is: 
   com.ibm.websphere.cpi.CPIException:
    java.sql.SQLException: 
          [MERANT][SequeLink JDBC Driver]Driver cannot perform requested operation: 
      ResultSet.getBlob().; nested exception is: 
       java.sql.SQLException: 
          [MERANT][SequeLink JDBC Driver]Driver cannot perform requested operation:
                ResultSet.getBlob().

The exception is caused by a limitation of the Merant/SQLServer driver: the driver does not support the get and setBlob() operators which WebSphere drivers use to access binary fields.

Try mapping the StringBuffer to a character type such as text for large character fields on SQL Server. It may require a converter because StringBuffer is not directly supported by JDBC String APIs.

Java programming

Adding a .hotspot_compiler option to avoid cloned application servers crashing or restarting (Defect 122626)

When trying to run a Java client program in a ServerGroup environment with multiple application server clones on the the same machine you may see the following errors:

Client Window:

- Java.rmi.MarshallException: CORBA
Comm_Failure 1 Maybe: 
- org.omg.CORBA.COMM_FAILURE: minor
code: 1 completed: maybe
- at com.ibm.CORBA.iiop.IIOPConnection
.purge_calls
- at com.ibm.CORBA.iiop.StandardReaderThread.run

This set of errors will occur for each cloned application server that fails.

Client Log:

- WWLM0019: Method getNextClone found
no usable proxies in the list.

You will see one of these messages for each subsequent client request made after the clones fail.

WebSphere Application Server tracefile: You will see messages saying that all the clones have been restarted.

Within the $WAS_HOME/bin directory, You will see a core file was generated, and a hs_err_pidxxxx.log file is created for each failing cloned application server.

To work around, create a file in the $WAS_HOME/bin directory with the name .hotspot_compiler and add the following string to that file: exclude com/ibm/ws/wlm/util/RIHelper removeServiceContext.

Ensuring the specified values are not the same when setting values for Connection Cache Maximum and Connection Cache Minimum (Defect 123124)

When setting values for Connection Cache Maximum and Connection Cache Minimum , ensure the specified values are not the same. Otherwise, the new values are ignored and default values remain in effect. These properties are documented in the InfoCenter article 6.6.30: Object Request Broker properties for Advanced Edition.

Connection Cache Maximum and Connection Cache Minimum are the names used by the administrative console for the ORB properties named com.ibm.CORBA.MaxOpenConnections and com.ibm.CORBA.MinOpenConnections respectively. If these ORB properties are specified in the command line with the -D option, ensure the specified values are not the same, as noted in the previous paragraph.

Setting the classloader for an application consisting of client and server side components (Defect 123414)

If an application consisting of client and server side components is deployed in an application server sharing same JVM, then the classloader that loads the client side components need to be the same as the one that loads the server side components. Otherwise, you may see an org.omg.CORBA.BAD_PARAM orb error with message of:

"Servant is not of the expected type"

To avoid this error, the class loader needs to be shared between the client and server side components. One way this can be achieved is by setting the property com.ibm.ws.classloader.classSharing=true. More information on related topic of classloader visibility and sharing can be found in InfoCenter.

Web containers have a new command-line argument for parsing client input values (PQ52029.doc)

FixPak 2 for WebSphere Application Server Version 4.0 adds a new system property for the Web container resource: client.encoding.override. You use the client.encoding.override property to override any client preferences for parsing client input values. To ensure that the correct encoding is used to parse the input values, specify this new property instead of the system property default.client.encoding for the JVM settings of the application server.

The following search order determines the client encoding used by the Web container:

  1. If the client.encoding.override property is set, use that encoding.
  2. Use the charset from the Content-Type header, if it is present.
  3. If the charset information is not present, try to determine the locale from the request using the Accept-Language HTTP header. If the Accept-Language header does not contain any language information or if it contains an asterisk (*) or is not present, skip to step 5.
  4. If step 3 is successful, use the encoding.properties file to map the locale to an input charset.
  5. Use the default.client.encoding system property, if it is present.
  6. If the default.client.encoding property is not present, use ISO-8859-1.

ORB Thread pools have a new command-line argument to limit the growth of ORB threads (114166, 114166.1)

FixPak 2 for WebSphere Application Server Advanced Edition Version 4.0 adds a new parameter for Object Request Broker (ORB) Thread pools: com.ibm.ws.OrbThreadPoolGrowable. You use the parameter to control the growth of ORB threads from incoming client requests. The default behavior allows the ORB to spawn as many threads as necessary to service incoming requests. To limit the number of concurrent threads to the value specified on the ORB Settings panel in the administrative client, set the parameter to -Dcom.ibm.ws.OrbThreadPoolGrowable=false. You can set the parameter as a command-line argument using the Advanced JVM Settings, which are part of the JVM Settings.

JVM settings now provide a way to set the java.library.path for a specific application server (PQ52597.1)

For an application server to reference native code, the path to that code must be included in the java.library.path environment variable. Version 4.0 FixPak 3 provides a way for you to include a path for a specific application server only. To include the path, go to the administrative console's application server configuration notebook and open the JVM Settings panel. In the System Properties field, add a name-value pair for the needed library path. Set the name to java.library.path and set the value to the path where your native code resides. For example, set the name-value pair to name=java.library.path and value=c:\bin. In such a case, when the application server launches, c:\bin prepends to the java.library.path environment variable.

SoapEarEnabler.sh on Solaris might not run (110535)

If the SoapEarEnabler.sh script on Solaris fails with function: unknown command, it is due to the level of bourne shell on the system. To fix the problem, open an editor on SoapEarEnabler.sh and modify the script by changing the line:

function run

to:

run()

Security

Adding additional default Signer Certificates when upgrading to GSKIT release 4.0-3.116 (Defect 129095)

When upgrading to GSKIT release 4.0-3.116 the following additional default Signer Certificates will be added to the ikeyman database if one is newly created:

Verisign Class 1 CA Individual Subscriber-Persona Not Validated
Verisign Class 2 CA Individual Subscriber-Persona Not Validated
Verisign Class 3 CA Individual Subscriber-Persona Not Validated

If you have a valid certificate that is in the same category as one of the above default certificates, then you need to remove the default certificate before you try to install your certificate.

Correction to configuring WebSphere Application Server security to use client certificate in InfoCenter (Defect 124815)

The InfoCenter provides incomplete information about configuring WebSphere Application Server security to use client certificate. Please refer to Chapter 11 of the Redbooks http://www.redbooks.ibm.com/, "IBM WebSphere Version 4.0 Advanced Edition Security" (SG24-6520-00) for complete and correct example of this procedure.

Using ./startupServer.sh to start the administrative server (Defect 119945.RN)

If you use WebSphere Application Server Advanced Edition and enable global security on an HP platform, start the administrative server using the ./startupServer.sh script (not the ./adminserver.sh script). In some cases, using the ./adminserver.sh script causes the administrative console to hang.

Assigning a large number of users or groups to a role might fail (103028.RN_1)

Assigning a large number of users or groups (greater than 5000) to a role might fail (in the Security Center).

When possible, assign roles to groups. There typically are fewer groups than users. Also, this will improve performance during server startup and during the authorization check.

Changes made to sas.server.props may be overwritten at run time (103028.RN_3)

SSL settings are managed by the administrative console. Any editing changes made to the following properties in sas.server.props will be overwritten at runtime.

Error returned when receiving CA cert using JSSE iKeyman (104012.RN)

While receiving a CA Certificate into a new SSL key file using WebSphere JSSE iKeyman, the product may return the error message An error occurred while receiving the certificate from the given file.

The workaround is to save the SSL key file before creating a certificate request:

  1. Create a new SSL key file using WebSphere JSSE iKeyman.
  2. Add the CA root certificate into signer certificates.
  3. Save and close the SSL Key file.
  4. Open the SSL key file again.
  5. Create a certificate request.
  6. Receive the approved CA certificate into personal certificates.

Security involving multi-nodes need similar time zones (108811.RN)

After you enable security, you cannot access enterprise java beans (EJBs) spread across other nodes. The error throws authorization failed exceptions and CORBA TRANSACTION_ROLLBACK exceptions. To work around this problem, ensure all the nodes involved are in the same time zone.

Signer certificates only work inside the SSL key file (not the SSL trust file) for ORB SSL Connections (110285.1)

A key file and trust file can be used to store certificates in the Advanced Edition 4.0.x, conforming to JSSE guidelines. The key file is typically for private keys and the trust file is typically for signer certificates. With this approach, you can pass the trust file to anyone with the same trust requirements but keep the private key of the key file separate for each machine. However, when you add a signer certificate to the trust file (ORB SSL connections only), the certificate does not get picked up and you might see Unknown CA or Unknown Certificate errors and the SSL handshake will fail.

As a workaround to this problem, you should add your signer certificates to the key file's signer certificates section from within iKeyMan. See the InfoCenter for information on using the iKeyMan tool. The key file can be specified in the Security Center under Default SSL Configuration, or you can override these defaults by specifying a different SSL configuration for each ORB. To do this you should go to the Service tab of the application server and edit the Object Request Broker service. Go to the Advanced tab and select Configure SSL.

Supporting session persistence

Using the following DDL to use DB2 on OS390 as session persistence database (Defect 127607)

To use DB2 on OS390 as session persistence datbase, use the following DDL. You may want to modify this based on your environment.

CREATE DATABASE SESSDB
  STOGROUP SYSDEFLT
  CCSID EBCDIC;
  
CREATE TABLESPACE SESSTS IN SESSDB
  USING STOGROUP SYSDEFLT
  PRIQTY 512
  SECQTY 1024
  BUFFERPOOL BP32K;
  
CREATE TABLE NULL.SESSIONS  (
  ID               VARCHAR(95) NOT NULL ,
  PROPID           VARCHAR(95) NOT NULL ,
  APPNAME          VARCHAR(64) ,
  LISTENERCNT      SMALLINT ,
  LASTACCESS       DECIMAL(19,0),
  CREATIONTIME     DECIMAL(19,0),
  MAXINACTIVETIME  INTEGER ,
  USERNAME         VARCHAR(256) ,
  SMALL            VARCHAR(3122)  FOR BIT DATA ,
  MEDIUM           VARCHAR(28869) FOR BIT DATA,
  LARGE            BLOB(2097152),
  SESSROW          ROWID NOT NULL GENERATED ALWAYS
  )
  IN SESSDB.SESSTS;

CREATE UNIQUE INDEX NULL.SESS_INDEX ON NULL.SESSIONS
      (ID      ASC,
       PROPID  ASC,
       APPNAME ASC);
	   
CREATE LOB TABLESPACE LOBOBJTS IN SESSDB
    BUFFERPOOL BP32K
    USING STOGROUP SYSDEFLT
    PRIQTY 512
    SECQTY 1024
    LOCKSIZE LOB;
	
CREATE AUX TABLE NULL.SESSIONSAUX
    IN SESSDB.LOBOBJTS
    STORES NULL.SESSIONS
    COLUMN LARGE;
	
CREATE INDEX NULL.SESSION_IX ON NULL.SESSIONSAUX;

In DB2/390, set the RRULOCK parameter to YES.

Accessing an HTTP session (Defect PQ47998.RN)

The release of persistent HTTP Session support in WebSphere Application Server 3.0 introduced HTTP Session transactions because the plug-in lacked an HTTP Session affinity mechanism. A transaction results from the use of a select and lock methodology when accessing the database from any WebSphere instance. As a result, only one servlet instance of execution can access an HTTP session at a time for the life of the service() method of the servlet.

This implementation had performance drawbacks, for example, most default database installations could not handle the high degree of locking. It also had stability issues, for example, any servlet hangs would lock up individual sessions, or the entire database. This implementation proved to be unusable with the introduction of the servlet 2.2 API and concurrent access requirements for HTTP session.

To solve this problem, HTTP Session affinity was added to the plug-in and the Select for Update option was removed.

You now have the option to turn on the locking behavior again. By default, locking still does not occur.

Now that all requests of a particular HTTP session route to a particular Java Virtual Machine (JVM), standard Java locking mechanisms, within a single JVM, can be utilized. These mechanisms synchronize servlet execution based on access to the HTTP session.

Three Java system properties exist to manage this behavior. Set these properties with the Java -D<system property=value> parameter on the command line option of an application server:

Using Java Transaction API for persisting sessions (Defect PQ49889)

The Java Transaction API (JTA)-enabled data source for the Session Persistence database is not supported.

No additional advantages exist for using JTA for persisting sessions.

Adding a system property to ensure session object is latest (Defect PQ50400.DOC)

A new system property has been added to ensure that the session object in cache is in sync with the session object persisted to the database. This is in addition to the cache ID mechanism used for the same purpose.

To apply this property follow these steps :

  1. From the administrative console, click Command Line Arguments for the Application Server, and then specify -DverifyDatabaseCopy=true. By default this property is set to false.
  2. Restart the Application Server.

Using a new system property in a multi-JVM environment (Defect PQ55940.doc)

Session ID can be shared across WebSphere Application Server in a multi-JVM environment without session persistence configured by using a new system property HttpSessionIdReuse.

Follow the instructions to apply the system property :

  1. Specify the property using administrative console.
    a. Expand Nodes under WebSphere Administrative Domain.
    b. Expand Application Servers.
    c. Expand Default Server.
    d. Expand Process Definition.
    e. Select JVM Settings, and then click on System Properties from the right panel under Advanced Settings.
    f. Click New button. Specify Name as HttpSessionIdReuse and Value as true. Click OK.
    g. Save the configuration changes.
  2. Stop the server.
  3. Start the server.

Interoperability

Implementing a compatibility mode between WebSphere Application Server Version 3.5.6, Version 4.0.3, and WebSphere Application Server zSeries 4.0.x (Defect 113380.3, Defect 113380.6)

Pass-by-value calls failed due to serialization exceptions in the following scenarios:

To work around this problem, deploy a new system property -Dcom.ibm.websphere.container.portable to implement a compatibility mode between WebSphere Application Server Version 3.5.6, WebSphere Application Server Version 4.0.3, and WebSphere Application Server zSeries 4.0.x. In addition, additional checking will occur regarding the use of Enumerations and Collections returned by finder methods. Please refer to Defect 110799.RN for more details.

Do not enable this property unless your application has an interoperability problem with one of the above scenarios.

Do not enable this property on a WebSphere Application Server Version 4.0.3 with C++ clients to that server.

Do not enable this property on a WebSphere Application Server Version 3.5.6 or WebSphere Application Server V4.0.3, unless all your clients to that server are WebSphere Application Server Version 3.5.6 and higher for WebSphere Application Server Version 3.5.x, or WebSphere Application Server Version 4.0.3 and higher for WebSphere Application Server Version 4.0.x.

Check the WebSphere Application Server for zSeries documentation to identify the correct installation procedures for that environment. Failure to do so will result in exceptions being thrown due to serialization errors.

Once the property com.ibm.websphere.container.portable=true has been set on a WebSphere Application Server Version 3.5.6, the following restrictions still apply:

  1. Handles to entity beans obtained from WebSphere Application Server Version 3.5.6 will not work with WebSphere Application Server Version 4.0.3 and above clients, because handles for entity beans are only valid for the naming domain for the server that created them.
  2. EJBMetaData cannot be obtained from a WebSphere Application Server Version 3.5.6 Home from a WebSphere Application Server Version 4.0.3 or above client.
  3. EJBMetaData and Handles for entity beans obtained from WebSphere Application Server Version 3.5.6 should not be persisted (for example, stored to a file) by a WebSphere Application Server Version 3.5.6 client, unless the client is part of the same naming domain which created the Handle to the entity bean or the EJBMetaData.

These fixes are designed to be put on in a rolling wave fashion. Before turning on the com.ibm.websphere.container.portable property, make sure that all clients to this server are at WebSphere Application Server Version 3.5.6 or WebSphere Application Server Version 4.0.3.

In doing so, you will be able to first update your client machines, and then update your server. Finally, when your configuration is set, you can enable the property and the new function, thus avoiding a shutdown of the entire network to do the upgrade.

To set the property:

On WebSphere Application Server Version 3.5.6:

  1. Stop the application server.
  2. Add -Dcom.ibm.websphere.container.portable=true in the command line arguments box.
  3. Click Apply.
  4. Restart the server.

On WebSphere Application Server Version 4.0.3:

  1. Stop the application server.
  2. Add the system property com.ibm.websphere.container.portable and provide the value true under the servers JVM Settings.
  3. Click Apply.
  4. Restart the server.

A final reminder, unless you are having a interoperability problem with the above conditions, do NOT turn on this property for your servers.

WebSphere Application Server Enumerations and Collections cannot be used outside the transaction (Defect 110799.RN)

WebSphere Application Server Enumerations and Collections cannot be used outside the transaction they were created in. Once you have enabled the property com.ibm.websphere.container.portable, additional checking occurs, to determine if two transactions attempt to access the same Enumeration or Collection instance.

In the unlikely event this occurs, an EnumeratorException will be thrown.

In addition, once the transaction ends, a lazy collection or enumeration will be disconnected from the server. In the event that the enumeration or collection attempts to access additional elements, by contacting the server after the transaction has ended, a com.ibm.ejs.container.finder.CollectionCannotBeFurtherAccessedException will be thrown.

Object Level Trace (OLT) and Debugging

Debugging is not available on WebSphere Application Server for Linux on zSeries (116632.RN)

WebSphere Application Server for Linux on zSeries Version 4.0 (based on Version 4.0.2) does not support debugging. Debugging will be supported when the fix to PMR 38519,001,866 becomes available.

Application server may crash when debugging on HP-UX (105130)

When debugging on the HP-UX platform, there is a known HP-UX JDK product defect that may cause the application server to crash. To work around this problem, restart the machine.

Configuring Object Level Trace and IBM Distributed Debugger on the Advanced Edition (109838.RN)

The IBM distributed debugger requires that Object Level Tracing is enabled. If you modify your application server configuration such that OLT is not enabled and the IBM distributed debugger is enabled and click the Apply button, you will receive the following message:

ADGU3124W: The IBM Distributed debugger only works when Object
Level Tracing is enabled. Do you want OLT enabled now?

If you select Yes, OLT is enabled and your property changes are saved. If you select No, the Apply selection is canceled and your changes are not saved. To save any changes, go to the Advanced JVM Settings dialog, de-select Enable IBM distributed debugger, and click OK and then Apply.

When you select Enable IBM distributed debugger from the Advanced JVM Settings dialog and OLT is not enabled, you are asked whether you want to enable OLT. If you select Yes, both OLT and the IBM distributed debugger are enabled.

dertrjrt.jar must be in the Java runtime classpath for tracing only (95844)

The dertrjrt.jar file must be in the Java runtime classpath for tracing only. Note that the "Tracing only" section under "Local debugging" in the InfoCenter article "Debugging a Java client" does not mention that this file must be added to the classpath to enable tracing only.

National Language Version Issues/Limitations

Read the problems and fixes that apply to your language:

All languages

Some data files and echo statements are not translated (109412)

Data files that contain the information for the default and sample configurations are not translated in this release. For example, objects such as Default Server and Sample DB Driver will have English names and descriptions even in non-English locales.

echo statements from batch files and shell scripts (for example, ejbdeploy and adminclient) also are not translated.

Application client available in English only (109769.RN)

This release of WebSphere Application Server provides the English (en_US) installation of the application client (J2EE client and Java thin client) only.

Install EnterpriseApp page is corrupted on AIX (103245, 104865)

On AIX and for Korean and other languages, some WebSphere Application Server pages may be corrupted. To fix the page display, uncheck the Auto-select in the View -> Encoding menu option of Microsoft Internet Explorer browsers or the View -> Character Set option of Netscape browsers.

Double-Byte Character Set (DBCS) languages

Installation destination directory path does not support DBCS (104279.RN)

The installation destination directory path for WebSphere Application Server Advanced Edition and for WebSphere Application Server Advanced Single Server Edition does not support double-byte characters.

For supported locales, see InfoCenter article 6.6.49.

True type font and input method needed for WebSphere Application Server Advanced Edition for Linux on zSeries (116080.RN, 116213.RN)

Before installing WebSphere Application Server Advanced Edition for Linux on zSeries (390) onto a Linux for z390 distribution, ensure that True type font and Input method are available on your distribution for your DBCS locale.

If you have CD-ROMs for the WebSphere Application Server Version 4.0.1 and Version 4.0.2 for Linux on zSeries releases, you can access the administrative client remotely by doing the following:

  1. Install WebSphere Application Server Version 4.0.2 for Linux on zSeries in the single-byte character set (SBCS) locale.
  2. Start the administrative server of the Linux on zSeries product.
  3. Install WebSphere Application Server Version 4.0.1 on an AIX, Solaris, or Windows NT operating system.
  4. Access the administrative client remotely by running the command
    adminclient host_name_of_Linux_on_zSeries_machine

Note that the Turbo Linux 6.5 for z390 distribution does not support DBCS.

Must have appropriate TTF files installed for national language versions (109281.RN)

If you are using one of the supported DBCS locales, one of the following filesets is required:

AIX:

X11.fnt.ucs.ttf (for ja_JP or Ja_JP)
X11.fnt.ucs.ttf_CN (for zh_CN or Zh_CN)
X11.fnt.ucs.ttf_KR (for ko_KR)
X11.fnt.ucs.ttf_TW (for zh_TW or Zh_TW)

Solaris:

SUNWjxcft, SUNWjxmft (for ja)
SUNWkcoft (for ko)
SUNWgttf  (for zh_GBK)
SUNW5ttf  (for zh_TW.BIG5)
Japanese

Japanese characters handled incorrectly on AIX (108861)

If you are running WebSphere Application Server on an AIX machine, true type fonts (TTFs) must be installed in order for the characters to display properly. These fonts are not installed automatically with AIX default installation.

Broken characters appear on the Start Server FirstSteps window on Linux (109118)

If you are installing the Japanese version of WebSphere Application Server, after the install process completes, the FirstSteps window appears. If you select Start Server from the FirstSteps window, a new window appears and the Japanese characters appear corrupted. However, if you cancel the FirstSteps window and open a terminal session, you can start the server from the command line and the messages will appear without corruption.

Non-Latin characters in class names

Renaming the non-Latin characters in class names (Defect 121780.RN)

Using non-Latin characters in class names results in an org.omg.CORBA.NO_IMPLEMENT error.

When server side enterprise beans contain non-Latin characters in class names and a client tries to invoke a remote method requiring a class with class name having non-Latin characters to be loaded, the client program receives the error:

java.rmi.ServerException: RemoteException occured in server thread; nested exception is: 
   java.rmi.RemoteException: org.omg.CORBA.NO_IMPLENT: Unable to locate value class <DBCS class 
   name>

To work around this problem, rename the classes to make sure that there are no Latin characters in the class name. Regenerate and re-deploy the application.

Simplified Chinese

Modify converter.properties for Chinese Solaris Advanced Single Server Edition (109497)

If you are installing WebSphere Application Server Advanced Single Server Edition on a Sun Solaris machine (Simplified Chinese Only), change the GB2312 key in the converter.properties file from Cp1386 to GBK to avoid corruption on the administrative console. The converter.properties file is located in the following directory: WebSphere/AppServer/properties.

Problems with the Simplified Chinese release of WebSphere Application Server (109804)

You might encounter the following problems with the Simplified Chinese release of WebSphere Application Server:

Traditional Chinese

Traditional Chinese characters display improperly on UNIX (109349, 109349.RN, 109794)

When installing on UNIX, certain traditional Chinese characters will not be displayed properly due to a JDK 1.3 product limitation. Some characters will be displayed wrong or will be unreadable.

Samples

PetStore Oracle Limitation (108133)

If you are using the Java Pet Store sample with Oracle as the database, be aware that repeated transactions (same user re-ordering same item) are not supported on Oracle.

InfoCenter

Update InfoCenter article 6.6.18.1a.7: Configuring SSL in WebSphere Application Server (Defect 117931)

New PMI client documentation in InfoCenter article 9.02 (Defect 121511)

Amendment to enable Java 2 security (Defect 125926)

Adding the new entries in InfoCenter article 6.6.46.0: Administrative server configuration file properties (Defect PQ58365)

Please manually modify the admin.config file by adding the following entries in InfoCenter article 6.6.46.0:

com.ibm.CORBA.requestTimeout=200

Value 200=3.2 minutes that is the time ORB will wait for a Reply to a Request.

com.ibm.CORBA.locaterequestTimeout=200

Value 200=3.2 minutes that is the time ORB will wait for the Location Service Demon (LSD) to send a Reply to a Locate Request that was sent by the ORB.

Note that if your network is subject to extreme latency, specify a large value to prevent timeouts. If you specify a value that is too small, timeouts may occur before a response is received.

Be very careful when you specify this property: it has no recommended value. Set it only if you suspect that you are experiencing problems with timeouts in the administrative server.

Add a new statement about LDAP server in InfoCenter article 6.6.18.1.4a.4.1 (Defect 120011)

The following statement is additional documentation regarding LDAP server which will be documented in InfoCenter article 6.6.18.1.4a.4.1.

WebSphere Application Server only supports the configuration of one LDAP server. Any LDAP server failover mechanism has to be implemented outside of WebSphere Application Server and must be transparent to WebSphere Application Server.

Clarification about InfoCenter article 6.6.0.2.2.3: Authenticating to the administrative server (Defect 120014)

The following information is clarification about InfoCenter article 6.6.0.2.2.3: Authenticating to the administrative server.

Add the following line to your .wscprc file:
com.ibm.CORBA.ConfigURL=URL of properties file

An example URL is:

Windows Platform:
file:///C:/WebSphere/AppServer/properties/sas.wscp.props.

UNIX Platform:
file:///usr/WebSphere/AppServer/properties/sas.wscp.properties

Alternatively, you can add the following option to the Java command line (preceding the application class name):
-Dcom.ibm.CORBA.ConfigURL=URL of properties file

Additional information about InfoCenter article 5.1.4: The WebSphere delegation model (Defect 107449)

The following information has been added to InfoCenter article 5.1.4: The WebSphere delegation model:

When using VisualAge for Java (VAJ) to create enterprise beans the default value for the run-as model is system-identity. This might cause problems during authorization if client identity is assumed to be the default.

Correction to InfoCenter article 6.6.45.0.1: Modifications to Web server configuration files during product installation (Defect 122088)

InfoCenter article 6.6.45.0.1 states incorrectly what changes are made to iPlanet configuration in obj.conf when WebSphere Application Server Version 4.0.x iPLanet plug-in is installed.

The correct information is:

Init fn="load-modules" funcs="as_init,as_handler,as_term" shlib="<WAS root>/bin/ns41_http.dll(.so)"
Init fn="as_init" bootstrap.properties="=<WAS root>/config/plugin-cfg.xml"
Service root=<iPlanet root>/docs fn="as_handler"

Correction to InfoCenter: WebSphere Application Server required OS patches (Defect 122675)

In the InfoCenter, the page "WebSphere Application Server required OS patches" under supported prerequisites http://www-3.ibm.com/software/webservers/appserv/doc/v40/prereqs/os_patches.htm#HP-UX is incomplete for HP-UX lli. The page should also list the following patches:

	PHCO_24777 
	PHCO_25226 
	PHCO_25452 
	PHKL_24255 
	PHKL_24569 
	PHKL_24751 
	PHKL_25367 
	PHKL_25389 
	PHKL_25729 
	PHKL_25840 
	PHNE_24910 

Correction to InfoCenter article 6.6.24.0: Administering application client modules (overview) (Defect PQ57752)

Single .class files are not supported within the files section at the .ear level in WebSphere Application Server Version 4.0.3. The tool that picks up these parameters and generates deployment code, EJBDeploy, does not have the ability to use loose class files.

The content of this section should be as follows:

For each enterprise beans .jar file in the .ear file, all the dependent classes must be in .jar files contained within the .ear file. The manifest file or a particular .jar must identify the .jars which contain the dependent classes. It does this using the class-path as described in article 6.6.24.0.

If the dependent classes are not in .jars already included in the .ear and are loose class files, they must be packaged into a .jar which must be included in the .ear. The enterprise beans .jar that needs these classes must identify this .jar in its class path.

Correction to InfoCenter article: Installing WebSphere Application Server 4.0 -- Typical installation option (Defect 120135)

When searching for Linux installation in the InfoCenter using the search page, the first entry is " Installing WebSphere Application Server 4.0 -- Typical Installation option." In step 6, it contains the following command:
# mount -t isso9660 -r /dev/cdrom /cdrom

The correct command is:
# mount -t iso9660 -r /dev/cdrom /cdrom

Correction to InfoCenter article: Download search-enabled InfoCenter as a .jar file and install locally (Defect 120137)

On the InfoCenter page, under "Download search-enabled InfoCenter as a .jar file and install locally:", click on download instructions. It takes you to an InfoCenter page which contains a table. The third column of the table contains links to details. The current value of the link is:
http://www-3.ibm.com/software/webservers/appserv/doc/v40/dl

The correct value should be:
http://www-3.ibm.com/software/webservers/appserv/doc/v40/info_center_zip.html#dl

Correction to InfoCenter article 6.6.a.1: Running the product servers and consoles as non-root (Defect 118068)

When WebSphere Application Server global security is enabled, the instructions for application server running as non-root should be as follows:

  1. Determine the non-root user that you would like the application server to "run as."
  2. Make sure the non-root user has read and write privileges on <WAS root>/properties/sas.server.props file.
  3. Make sure the non-root user has read and write privileges on <WAS root>/etc/secbootstrap file.
  4. Ensure that the application server is stopped.
  5. Delete the application server's temporary files and directories in the <WAS root>/temp directory. Ensure the user has read and write privileges on the <WAS root> /temp directory.
  6. Start the WebSphere Administrative console under the root ID.
  7. In the Java administrative console tree view, locate and click the application server to display its properties.
  8. In the Advanced properties, modify the User ID and Group ID to be the user and group for the application server to "run as."
  9. In the General properties, modify the standard output and standard error log paths to refer to directories to which the "run as" identity has access.
  10. Start the application server, using the new ID.

Warning: ensure that the administrative server "run as" ID has full access and privileges over the non-root ID that you gave to the application server.

Correction to InfoCenter article 8.9: Thread dumps (Defect 122270.RN)

In InfoCenter article 8.9: Thread dumps, the Java thread dumps for WebSphere Application Server administrative client running on an HP-UX system should go to <WAS root>/logs/adminclient_audit_messages.log, not the window that starts the administrative client as it described in the InfoCenter documentation.

Correction to InfoCenter article 5.2.: Implementing the CustomRegistry interface (Defect PQ55941)

CustomRegistry and System Management

When the administrative client (or xmlConfig) is used to set up security or modify users and groups to roles, the WebSphere Application Server System Management (SM) code calls the CustomRegistry implementation to retrieve data. During this time, the WebSphere Application Server administration repository is locked until the data is retrieved from the CustomRegistry. This implies that during the data retrieval any other System Management calls to the administrative repository depends on the performance of the CustomRegistry implementation

CustomRegistry implementation using a data source

When using a data source in the CustomRegistry implementation, the following property needs to be set in the admin.config to avoid the 1PC(one phase) committing problem.

com.ibm.websphere.security.customuserregistry.datasource=true

This property should only be set when the CustomRegistry is using a data source. If the registry is changed to use LocalOS or LDAP or a CustomRegistry that does not use a data source this property should be set to false or removed completely from the admin.config file. If this is not done, the server may encounter a deadlock condition during initialization.

When using this property, it is very important that the CustomRegistry implementation not make calls to WebSphere Application Server System Management (SM) for example through WSCP or xmlConfig. These calls may result in a database deadlock or other unpredictable results.

Stateful and entity beans in InfoCenter article 4.8.1.2.2.1 and 4.8.2.1 are not supported in WebSphere Application Server Version 4.0 FixPak 3 (Defect 119731)

In InfoCenter article 4.8.2.1: SOAP deployment descriptors in WebSphere Application Server, the following stateful and entity beans providers are not supported in WebSphere Application Server Version 4.0 FixPak 3:

com.ibm.soap.providers.WASStatefulEJBProvider 	stateful session bean 
com.ibm.soap.providers.WASEntityEJBProvider 	entity bean 

In InfoCenter article 4.8.1.2.2.1: Accessing enterprise beans through SOAP, the stateful and entity beans are not supported in WebSphere Application Server Version 4.0 FixPak 3.

InfoCenter article 4.8.4: Securing SOAP services are not complete (Defect 119021)

Configuration instructions for basic authentication with SOAP are not complete in InfoCenter article 4.8.4. The current steps for enabling basic authentication for SOAP services in WebSphere Application Server Version 4.x should be as follows:

  1. Create the .ear file that contains the components that you would like to expose as services (the security stuff will be added later).
  2. Run the SoapEarEnabler, providing the .ear file from the previous step. Use a "non-secure" SOAP server if you don't want digital structure support.
  3. Open the modified .ear in the Application Assembly Tool (AAT) and add the security settings to the soap.war (or soap-sec.war). The SOAP runtime is exposed as a servlet so what is really being secured are the servlets themselves.
  4. Deploy the .ear file.

InfoCenter articles should no longer reference the Execution State field (PQ54257)

The first release of WebSphere Application Server Advanced Single Server Edition Version 4.0 had an Execution State field in the console that you could set. This field has since been removed, though the InfoCenter still references it in the article "6.6.3.0: Application server properties" and in the installation information for the Advanced Single Server Edition on UNIX platforms.

Though you can still set the execution state value by modifying the XML file, there is no longer a field in the console that you can modify to change the field's value. In fact, there is no need to change the value because it controls the initial state of the application server, which must be running for the console to be operational.

Correction to "Generating deployment code for EJB enterprise beans" (105688)

In the "Command arguments" section of the InfoCenter article "6.6.0.15.1: Generating EJB deployment code from the command line," the list of valid databases under -dbvendor includes DB2UDBWIN_V71 (DB2 for Windows, V7.1. The Application Assembly Tool no longer has this option but, instead, has the option DB2UDBWIN_V72 "(DB2 for Windows, v7.2)".

PDF versions of the InfoCenter cannot be opened on the Advanced Single Server Edition (110846)

On the Advanced Single Server Edition, you might not be able to open PDF versions of the documentation if you accessed help through the administrative console. As a workaround, point your Web browser to the index.html page of the InfoCenter, which is located in the subdirectory main_WebSphere_directory/web/InfoCenter and has the URL main_WebSphere_directory/web/InfoCenter/index.html.

To correct the problem, do not install the InfoCenter .jar files into the same directory as the WebSphere Application Server product. Install into a separate directory. The following steps describe how to download and install the full WebSphere Application Server InfoCenter from a self-extracting .jar file.

  1. Download the InfoCenter file to a directory from which the java command is recognized.
  2. After the download completes, rename the file from:
    InfoCenter_name.jar.zip

    to:

    InfoCenter_name.jar

    In other words, remove the .zip from the end of the file. Web browsers often treat .jar files as corrupted so .zip is added to the end of the file to avoid this problem.

  3. Open a command window and enter a java command to install the InfoCenter:
  4. Accept the licensing terms.
  5. When prompted to specify the WebSphere installation directory, specify an existing, empty directory. Disregard the suggestion to install the InfoCenter under the product directory structure. The installation program executes, reporting status to the screen.
  6. After the installation program completes, it writes an InfoCenterInstall.log file in the WebSphere_installation_root/logs directory. You can use this file to verify which files have been installed and to review the messages displayed in the command window.
  7. Access the InfoCenter using a Web browser to open the index.html file in the InfoCenter directory.

InfoCenter Contents is missing a link to the migration article "3.7: Interoperability with Version 3.5.x" (111738)

In the Version 4.0 Advanced Edition InfoCenter, expanding the Contents choices Application Server AE and then Migration does not show a link to article "3.7: Interoperability with Version 3.5.x." To view the article, click on Table of Contents under Migration and click on the link "3.7: Interoperability with Version 3.5.x" at the bottom of the Table of Contents page.

Correction to "Assembly properties for Web modules" (115734)

The Version 4.0 InfoCenter article "6.6.8.0.aa: Assembly properties for Web modules" contains inaccuracies. The descriptions for classpath and additional classpath should be as follows:

Classpath
Specifies the full class path for the Web application. Specify the values relative to the root of the .ear file and separate the values with spaces. You should not use absolute values that reference files or directories on the hard drive. Consider the following example directory structure in which the file myapp.ear contains a Web module named mywebapp.war. Classes reside in class1.jar and class2.zip.
myapp.ear/mywebapp.war
myapp.ear/class1.jar
myapp.ear/class2.zip

Specify class1.jar class2.zip as the value of the Classpath property. Note that loading of .class files from the .ear file is not supported, as it is not J2EE portable.

Additional classpath
Specifies an additional class path used to reference resources outside of those specified in the archive. Specify the values relative to the root of the .ear file and separate the values with semicolons. You typically use this attribute as a mechanism for extending the classpath of a .war file without actually modifying the MANIFEST file of the file. In general, it is better to use the Class-Path: attribute of the MANIFEST file for assembly tasks. You should not use absolute values that reference files or directories on the hard drive. Consider the following WAR example directory structure in which the file myapp.ear contains a Web module named mywebapp.war. Additional classes reside in class1.jar and class2.zip.
myapp.ear/mywebapp.war
myapp.ear/class1.jar
myapp.ear/class2.zip

Specify class1.jar;class2.zip as the value of the additional classpath property. Note that loading of .class files from the .ear file is not supported, as it is not J2EE portable.

InfoCenter is missing information on configuring SessionManager with DB2 OS390 (113170)

The Version 4.0 InfoCenter is missing information on configuring SessionManager with DB2 OS390 as the persistent store. The information is available in the Version 3.5 InfoCenter in the article "1.2.3.2.3: Switching server databases to DB2/390." Note that only the section "Setting up the HttpSession database in DB2/390" applies to sessions.

Correction to "Assembly properties for MIME filters" (113166)

The InfoCenter article "6.6.8.0.14: Assembly properties for MIME filters" describes MIME Filter - Target incorrectly as "Specifies the target virtual host for the servlets." Instead, the description should state "Specifies the target servlet name to which the filter output will be routed."

Correction to "Additional administrative tasks for specific databases" (115760)

The InfoCenter article "6.6.14.5: Additional administrative tasks for specific databases" has incorrect bean values for the Oracle 8.1.7 two phase commit support. The correct bean values are REQUIRED, BEAN_METHOD, and _READ_COMMITTED and not TX_REQUIRED, TX_BEAN_MANAGED and TRANSACTION_READ_COMMITTED.

Correction to InfoCenter article 6.6.3.0: Application server properties (116775)

The InfoCenter article "6.6.3.0: Application server properties" incorrectly states that the default module visibility for the Advanced Single Server Edition is COMPATIBILITY. It should state that the default module visibility is APPLICATION.

Links incorrectly go to a page written in Spanish (106377)

The hyperlinks to DER_DBG_TAB and DER_DBG_TABGRID at the bottom of the article "Setting environment variables for the Debugger" in information in English on the Distributed Debugger incorrectly go to a Spanish page.

Correction to "Securing cloned applications" (110745)

The statement that "each server group and clone must be secured individually" in the InfoCenter article "6.6.18.1.2: Securing cloned applications" is incorrect. To secure a cloned application, you secure an enterprise application, put that secured application into a server group, and then make clones of the server group.

Correction to "Configuring SSL in WebSphere Application Server" (117136)

The InfoCenter Version 4.0 article "6.6.18.1a.7: Configuring SSL in WebSphere Application Server" provides the following incorrect SSL example for configuring a plug-in:

<Property name="keyring" value="product_installation_root\myKeys\plug-inKeys.kdb">
<Property name="stashfile" value="product_installation_root\myKeys\plug-inKeys.sth">

The example should be as follows:

<Property name="keyring" value="product_installation_root\myKeys\plug-inKeys.kdb"/> 
<Property name="stashfile" value="product_installation_root\myKeys\plug-inKeys.sth"/>

The example elements need a forward slash (/) at the end of each element to terminate them.

Local version of InfoCenter missing information in Troubleshooting section (Defect 124102)

If you download and install the InfoCenter .jar file from the product Web site or if you try to access these files from the Integrated InfoCenter, the Troubleshooting section may contain blank files.

The files are available from the Web site:

Article 8.7 Using application level facilities

Article 8.7.1 ORB-related minor codes

Article 8.8 Using internal tools

Correction to WebSphere Application Server Version 4.0 InfoCenter (Defect PQ59737)

There is a section "Configuring a single instance of IBM HTTP Server (IHS) with Websphere Application Server Version 3.5.x and 4.0.x" in WebSphere Application Server Version 4.0 InfoCenter.

You will find the following information:

UNIX

LoadModule ibm_app_server_http_module/opt/WebSphere/AppServer40
/bin/mod_
AddModule mod_app_server_http.c
Alias /WSsamples "/opt/WebSphere/AppServer40/WSsamples/"
WebSpherePluginConfig /opt/WebSphere/AppServer40/
configplugin-cfg.xml

There should be a slash (/) between "config" and "plugin-cfg.xml"

Correction to configuring WebSphere Application Server security to use client certificate in InfoCenter (Defect 124815)

InfoCenter provides incomplete information about configuring WebSphere Application Server security to use client certificate. Please refer to Chapter 11 of the Redbooks http://www.redbooks.ibm.com/, "IBM WebSphere Version 4.0 Advanced Edition Security" (SG24-6520-00) for complete and correct example of this procedure.

Correction to InfoCenter article 7.2.4.2: Modifying server groups and clones (Defect PQ56722)

The InfoCenter article 7.2.4.2: Modifying server groups and clones states incorrect information about removing objects from the model. The statement in InfoCenter is: Other server group changes (such as adding or removing enterprise beans from an application server) are picked up by the clones when they are restarted.

This statement is incorrect because objects can not be removed from the model without first being removed from all clones. The propagation only works with modifications and additions not deletions. To make this work as expected, remove objects from the clone and then remove from the model.


Using the TechNotes Database

The TechNotes database contains additional information about known defects and the workarounds. The TechNotes database also includes some supplemental information for topics covered in the WebSphere Application Server documentation.

To search the TechNotes database, go to the TechNotes database Web page, select a component, and click Go. You can also search the database by keywords.