Release Notes for IBM WebSphere Application Server Version 3.5 with FixPak 4

Last updated 05/15/01

This document contains the Release Notes for IBM WebSphere Application Server Version 3.5 with FixPak 4 (also known as Version 3.5.4) for Linux, Windows NT (Windows 2000 supported), Sun Solaris, AIX and HP-UX.

These Release Notes cover both the Advanced and Standard Editions. Because the Standard Edition functions are a subset of the Advanced Edition functions, note that some information in these Release Notes (for example, the mention of enterprise beans) applies only to the Advanced Edition.

You can send comments on the documentation to WASDOC@us.ibm.com. When you send information to IBM, you grant IBM an exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you.

Note: This file is best printed in a landscape format. Also, if you find that all text does not fit on a printed page, a suggestion is to decrease the scaling before printing. Setting the scaling to 80 has proven successful. To change the format and scaling, access the Print Properties -> Advanced -> Change Orientation to Landscape -> Change Resolution to 80.

Prerequisites

The following Web site lists the prerequisite products needed for IBM WebSphere Application Server:

http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html

Installing Version 3.5.4

You can find the complete installation instructions for 3.5.4 at http://www-4.ibm.com/software/webservers/appserv/library.html in "Planning and Installation" documentation for the Advanced Edition and the Standard Edition. Before installation, remove any previously installed e-fixes from the machine.

Release Notes

The Release Notes contain information about known defects and the workarounds. This document also includes some supplemental information for topics covered in the Application Server documentation.

Installation and Configuration
Administrative Console and Command Line Tools
Enterprise Beans
Servlets
Java Server Pages Files (JSP files)
Sessions
Connection Pooling
Workload Management
Security
Performance and Stability
OLT and Debugging
Tracing
Samples

Installation and Configuration

Problem Op System Workaround
If you named your Microsoft SQL Server instead of using the default name (hostname), you will need to configure Sequelink. Windows NT/2000 Follow these steps to configure Sequelink:

Note:The non-default Microsoft SQL Server name is STLAB20\SQLEJS in this example.
  1. Access SL Admin Mgr Snapin from the Start menu.
  2. Choose SLSQLServer51.
  3. Choose Configuration.
  4. Choose Data Source Settings.
  5. Choose Default.
  6. Right click and choose New and then Attribute.
  7. From the dropdown menu choose DataSourceMSSODBCConnStr.
  8. If you are using SQL Server 2000 ODBC Driver type in this value:
    Driver={SQL Server};Server=STLAB20\SQLEJS (Note: Everything after Server= is the name of the Microsoft SQL Server name).

    If you are using SQL Server 7.0 ODBC Driver (Default) type in this value:
    Driver={MERANT MSSS Driver for SequeLink 5.0};Server=STLAB20\SQLEJS.
  9. Stop the Sequel Server agent and restart it.
On UNIX, permissions of DBConfig.sh need to be changed to make it executable after unzipping the DBConfig.zip. When a radio button for a particular database is selected, the tool does not automatically fill in the correct database driver and database prefix. AIX, Solaris Choose the right database driver from the pull down menu and change the database prefix to the appropriate value.
On UNIX, DBConfig tool changes the permissions of $WAS_HOME/bin/startupServer.sh to nonexecutable. AIX, Solaris Change the permissions of startupServer.sh to make it executable before starting the administrative server.
The IIS filter/extension mechanism requires that the dll be on the virtual directory. Therefore install sets the virtual directory to point to WebSphere bin directory. When setting the virtual directory to point to WebSphere's bin directory, there are files that should not be accessed. For example: If a user types "http://host/SEPlugins/admin.config" they can view that file and the content contains the password. Another file in the bin directory that shouldn't be accessed is NTRegistry.dll. All To fix this problem:
  1. Create a plugins sub-directory under the bin directory.
  2. Copy the iis20.dll into that directory.
  3. Make the virtual directory(sePlugins) in the IIS configuration point to the bin\plugins directory and not bin.
The Cancel button in the uninstall screen doesn't work. AIX If you need to cancel the install, press Ctrl+X.
A distributed transaction that uses two datasources defined on separate WebSphere Application Server nodes is failing. Both the data sources use JTA enabled DB2 7.1/FixPak 2 JDBC drivers. The following exceptions were thrown by the client:
Failed to debit card: 
java.rmi.ServerException: 
 RemoteException occurred in server thread; 
nested exception is: 
 java.rmi.RemoteException: debitCard failed: 
COM.ibm.db2.jdbc.DB2Exception: 
 [IBM][CLI Driver] SQL30090N  
Operation invalid for application execution 
 environment.
Reason code = "06".  
SQLSTATE=25000

Note that debit card in the above error message is the application used for testing.

All Create the JTA drivers and data sources on the same node, but ensure that the "database name" in one of the data sources contains the alias to the database on the remote machine.

For example, suppose the following machines have the following database names:

DB2 Server Machine 1: Database A
DB2 Server Machine 2: Database B

On machine A, you should catalog the remote database B to create the database alias dbalias B. Then, the data source A will point to database A on machine 1, and the data source B will point to dbalias on machine 1.

For SQL Server 2000 on Windows NT, there is a problem with Microsoft Data Access Componentry(MDAC) Version 2.6. The ODBC driver for SQL Server, embedded with SequeLink 5.x, requires dlls that are no longer shipped in MDAC Version 2.6. Therefore, if you install SQL Server 2000 on a clean Windows machine, the following error displays:

Specified driver could not be loaded due to system error 126 (MERANT MSSS Driver for SequeLink 5.0)
Windows NT The SQL Server 7 driver requires dlls that are not required by the SQL Server 2000 driver and no longer ship with MDAC Version 2.6 or higher.

To fix this problem, install the MDAC version that is shipped on the DataDirect SequeLink CD(or version 2.1 from the Microsoft website). Here is a link to the Microsoft website for MDAC Version 2.1:

http://www.microsoft.com/data/download_21242023.htm
If WebSphere or its Web servers are running during the time of installing the FixPak, you will get errors. All To avoid errors, follow these steps:
  1. Stop all Web servers.
  2. Stop WebSphere.
  3. Uninstall the FixPak.
  4. Delete the backup files.
  5. Reinstall the FixPak.
When installing the FixPak on a machine with only the administrative console, it will not update. Windows NT Copy the admin.config file from a WebSphere machine and put it under WAS_home/bin.
WebSphere does not recognize multiple instances of IIS. It only recognizes the default instance. Windows 2000 Create two virtual directories in the second instance of IIS (IBMWebAS, sePlugins). Make these virtual directories identical to the first instance of IIS. Both virtual directories in both instances should be identical. You can do this for as many IIS instances you have.
If you select the Lotus Domino plug-in during WebSphere Application Server installation, the new DSAPI filter is not enabled by default. All The new DSAPI filter file names, depending on the platform, are as follows:
  • Windows: libdomino5.dll
  • AIX: libdomino5.a
  • Solaris: libdomino5.so
  • HP_UX: libdomino5.sl

These files are located under the WAS_HOME/bin directory.

Use the following steps to enable the new DSAPI filter. (These steps assume Solaris is the example operating system, but you can use the same steps on other operating systems).

  1. Install WebSphere Application Server, and select the Lotus Domino plug-in.
  2. Run the Lotus Domino server.
  3. Open the server document either in the Lotus Notes client or in a browser.
  4. Go to the Internet Protocols tab. In the DSAPI filter file names (under DSAPI heading ) field, add the full path to DSAPI filter file name. For example, for Solaris: /opt/WebSphere/AppServer/bin/libdomino5.so
  5. Restart the Lotus Domino server. When the HTTP task starts, 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.

  6. Start WebSphere Application Server.
After uninstalling the FixPak, and trying to reinstall the same FixPak, your machine detects that the FixPak is still installed. When trying to exit, you are not able to, and the JDK is automatically updated. All After uninstalling the FixPak, delete the backup jar files and the uninstaller of the Fix Pack.
During the WebSphere Application Server installation, the following error displays:
ERROR-FUNCTION-entry not found on string table
because you are missing a file "lodctr.exe" in the WINNT/SYSTEM32 directory.
Windows NT WebSphere automatically installs IHS and, when this error occurs, the silent install will stop and the WebSphere install will continue. IHS does not copy all of its needed files to the hard drive of the machine, therefore it won't run at all. This may happen if you don't have IHS on your machine and you install Full, Quick or Custom install with IHS.

To fix this:
Before installing WebSphere with IHS, ensure you have the file "lodctr.exe" in the WINNT/SYSTEM32 directory. If you don't have it, copy it from another Windows NT machine and put it in the WINNT/SYSTEM directory. The installation of WebSphere and IHS will now work.

WebSphere Application Server checks for the existence of an Application Server repository before starting the administrative server.

You may need to manually enter the com.ibm.ejs.sm.adminServer.dbInitialized property to the admin.config file located in the bin directory of the WebSphere installation directory and remove the property when the repository is created.

AIX, Solaris, Windows NT The current behavior of the com.ibm.ejs.sm.adminServer.dbInitialized property with regards to the repository verification is as follows:
Property: Does not exist in admin.config
Repository: Does not exist
Action:	Create repository and add to admin.config:
        com.ibm.ejs.sm.adminServer.dbInitialized=true
Trace Msg: None

Property: Does not exist in admin.config
Repository: Exists
Action:	Attempt to create repository and add to
        admin.config:
        com.ibm.ejs.sm.adminServer.dbInitialized=true 
Trace Msg: Tables already exist

Property: Exists in admin.config with a value of true
Repository: Does not exist
Action:	Create repository
Trace Msg: None

Property: Exists in admin.config with a value of true
Repository: Exists
Action:	Verify table existence
Trace Msg: Tables already exist

Property: Exists in admin.config with a value of false
Repository: Does not exist
Action:	Create repository, value of 
        com.ibm.ejs.sm.adminServer.dbInitialized 
        remains false
Trace Msg: None

Property: Exists in admin.config with a value of false
Repository: Exists
Action:	Value remains false for
        com.ibm.ejs.sm.adminServer.dbInitialized 
Trace Msg: Tables already exist

Property: Exists in admin.config with a value 
          of nocreate
Repository: Exists/does not exists
Action:	Repository will not be created, value of 
        com.ibm.ejs.sm.adminServer.dbInitialized 
        remains nocreate
Comment: This flag is for OS/390 users and 
        should not be set otherwise.
When migrating from Version 3.02 to Version 3.5, Version 3.02 configurations are lost. All Before migrating from Version 3.02 to Version 3.5, you must migrate any application files first.

See InfoCenter article 3 for more information.

Step 2 of the instructions tells you to migrate or upgrade to IBM WebSphere Application Server 3.5. You need to migrate, then upgrade.

Follow steps 3-5 for migration, then go ahead with your upgrade.

The exception NoSuitableDriver is displayed when you install WebSphere Application Server using Oracle, Sybase or InstantDB as the WebSphere Application Repository.

The exception occurs when you use DataSource to access the DB2 database for application data by choosing the DataSource for Connection Pooling function or enterprise bean.

AIX, Solaris Set up the DB2 environment properly in the WebSphere Application Server startupServer.sh if you plan to refer to Oracle, Sybase or IDB databases as administrative databases.

To modify startupServer.sh, find the following line in startupServer.sh in a then clause:
export LD_LIBRARY_PATH

Next, add the following lines BEFORE the export LD_LIBRARY_PATH line:

DB2_HOME=/export/home/db2inst1
export DB2_HOME
.$DB2_HOME/sqllib/db2profile
LD_LIBRARY_PATH=$DB2_HOME/sqllib/java12:
 $DB2_HOME/sqllib/lib:$LD_LIBRARY_PATH
LIBPATH=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH LIBPATH

For $DB2_HOME, specify your DB2 instance home directory. Also, you should enter the values for LD_LIBRARY_PATH= on one line; they are shown here on two lines to improve readability.

The README file at the end of the installation is not displayed, and Hotjava is the default web browser. Solaris Make sure that the Hotjava browser can be started. If not, use another browser to view the README file.
Java applications will not run reliably where the LIBPATH length exceeds 1548 characters. AIX Reduce the LIBPATH length to less than 1548 characters.
The Apache server will not start after installing the WebSphere Application Server plug-in for Apache server. All The plug-in installation added the line ose.mode=out to your Apache configuration file srm.conf in the /<apache_home>/conf directory. Open an editor on the srm.conf file, and remove or comment out the ose.mode=out line.
Connection is refused (error 500) when attempting to access servlets and JSP files. The Web server and application server are under stress and the Web server log contains the following errors:

Aug 30 14:52:53 1999 - Error
ws_open_domain_client_socket
connect return 146 error

Mon Aug 30 14:52:53 1999 - Error
Ws_open_domain_client_socket
socket return 146 error
Solaris The default communications configuration between the Web server and the servlet engine is using TCP/IP sockets. Each socket represents a file descriptor. If the file descriptor limit per process is set too low, attempts to open socket connections might be refused (error 146).

To resolve this condition, increase the file descriptor limit for the user from which the administrative server is started (ususally root). Edit the .profile for the user, and add the following:

ulimit -n 1024

Depending on the number of connections needed, this number may need to be increased more. For this change to take effect, log off and then log on.

To change the hard upper limit of the number of file descriptors in the kernel (which defaults to 1024 per CPU), you can edit the /etc/system config file to include a couple of entries:

set rlim_fd_max=4096
set rlim_FD_cur=1024


After you save the file, restart the machine for the changes to take effect.
The IBM HTTP Server will not install.

There are bad entries in the system file table: /etc/fstab. The swinstall fails in the analysis phase because the mount_all_file_systems option is true by default.

HP-UX Remove the bad entries from the /etc/fstab file and reinstall. If you cannot do so, edit the install_ihs_128.sh (or install_ihs_56.sh), adding the -x mount_all_file_systems=false option to the swinstall command.
The install directory for DB2 7.1 has changed (x:\Program Files\SQLLIB) and WebSphere Application Server Version 3.5 defaults to the old DB2 directory (x:/sqllib). The following error displays when WebSphere Application Server is started:

2140:An internal Windows NT error occurred
All Check to make sure that the admin.config file is pointing to the new DB2 directory (x:\Program Files\SQLLIB). Otherwise the default will point to the old directory (x:/sqllib). Modify the admin.config pointer to the DB2 driver if you have already installed and tried to start WebSphere Application Server and are getting the error.
If a non-DB2 database is used with WebSphere Application Server, WebSphere version 3.0.2.4 cannot be migrated to a 3.5.x version using the custom options of the WebSphere migration utility. The migration utility runs the default migration with the default database (DB2). Linux Edit the files startupServer.sh, setupCmdLine.sh, and admin.config so that the files set parameters for the database used, and not for DB2. Then, start the WebSphere 3.5 administrative server process.
When installing the WebSphere Application Server 3.5 FixPak onto a system that has DB2 UDB 7.1 already installed, the WebSphere FixPak will not install and the message "Your current version of DB2 exceeds the level required by this product 7.1" is shown. Solaris Copy the prereq.properties file from the /cdrom directory to the /tmp directory, and edit the SUN packages = db2cliv61 statement in the /tmp/prereq.properties file to SUN packages = db2cliv71. Then, use the following command to install the FixPak:
install.sh /prereqfile /tmp/prereq.properties
After installation of the FixPak, the product.xml file and the administrative console show the correct FixPak level but the operating system shows only 3.5.0. All The WebSphere Application Server FixPak installation program is working as designed. The installation program merely unpacks files to a new fileset. It does not affect the operating system "registry" of filesets, and thus the registry stays at 3.5.0 after a FixPak is installed.
After installation of the FixPak and after the Application Server console and web server have started, you cannot visit the database page for http://localhost/WSsamples. You use the database page to configure databases. Solaris, Windows NT The doc_root for your web server must be set to the appropriate value.

For IBM HTTP Server and Apache, doc_root must be set to HTTP_HOME/htdocs/language_locale. For English in the United States, you set doc_root to HTTP_HOME/htdocs/en_US. If your system is not set to United States English, you must specify a different language_locale value that is appropriate for your system.

For other web servers, instead of HTTP_HOME/htdocs supply the following:

iPlanet 4.x
HTTP_HOME/docs
Netscape Enterprise Server
HTTP_HOME/docs
Domino
HTTP_HOME/domino/html
Microsoft IIS
HTTP_HOME/wwwroot

Administrative Console and Command Line Tools

Problem Op System Workaround
The administration of an WebSphere Application Server administrative domain will not properly work if all nodes within the domain are at different FixPak levels of a release. All WebSphere Application Server administrative domain requires that all nodes be at the same FixPak level for the administration of the domain to properly work.
In a configuration with one node run as an administrative agent and another node as the administrative server, if the installation directory on the agent node is not the same as the installation directory on the administrative server node, starting an application server fails. All In the admininistrative console, edit the properties for the RemoteSRP bean under the Default Container of the administrative agent node so that the "Jar File" property specifies the correct path to the ibmwebas.jar (e.g. C:\WebSphere\AppServer\lib\ibmwebas.jar)
When starting the Administrative Console, the following error stating that the maximum number of open cursors is exceeded displays, in part:
5803af6d DBMgr W Exception on database query: 
 "select * from ejsadmin.REL_DEFN_TABLE where 
 SOURCE_TYPE = ? or TARGET_TYPE = ?"
 com.ibm.ejs.cm.portability.
 ResourceAllocationException: 
 ORA-01000: maximum open cursors exceeded
All To fix this problem:
  1. Update the initorcl.ora and increase 'open_cursors=200' to open_cursors=220.
  2. Stop and restart Oracle.
  3. Restart the Administrative Console
When the administrative console is downloaded from the Internet it doesn't run. All A JDK has to be present on the machine using the remote console.
And/Or set the JAVA_HOME.
And/Or put the JDK location in the PATH.
In the HTTP Administrative Console, the Web application property sheet does not show up with the Netscape browser. Windows Use Microsoft Internet Explorer as your browser.
The Java administrative console is not displaying correctly after installing the product. You did not install the Java administrative console while installing the product and used adminclient.bat to view the Java administrative console. The Topology view shows green 'objects' listed, but they are not valid objects. They appear to be EJB-related methods. Windows NT/2000 Uninstall WebSphere Application Server and reinstall, including the Java administrative console. An alternative is to install the administrative console on a remote machine, which can be used to administer the remote administrative server.
The Web-based browser administrative console is unavailable if the default server is stopped. All The Web administrative console runs under the default server. Stopping the default server makes the HTTP administrative console unavailable. Start the default server and then try restarting the HTTP administrative console.
Screens are not repainting or resizing properly when running the Java administrative console changes on a UNIX operating system with the Display exported to a Windows NT/2000 system running a Hummingbird Exceed 6.0.1 X Windows server.

The window appears to be empty or missing panes.

When you manually resize the window, the rest of the text and widgets are displayed.

Windows NT/2000 Do one of the following:
  • Install the Administrative Console on a machine that is remote from the UNIX system running WebSphere Application Server. Then run the following command to connect to the remote UNIX machine:

    $WAS_HOME/bin /adminclient.bat <remoteHostName>

  • Use an alternative X Window manager on Windows NT.
  • Use Hummingbird Exceed Version 6.1 instead. Be sure to use the X configuration tool to modify the Screen Definition.
  • Use the following options for the Window Manager settings that appear under the Screen X tab in the Screen Definition configuration tool:

    Window Manager: Window Manager = Native Use Native WM for embedded clients = No First Window to display = No

  • Note: Hummingbird Exceed Version 6.2.0.18 and higher will also work. Follow the above instructions for configuring the window manager. Exceed requires a patch to work. Without the patch, windows are incorrectly sized. With the patch, some of the error and message dialog boxes still have clipped edges, so you need to manually resize these windows. Contact Robek Corporation for a patch to get to Exceed Version 6.2.0.18 or higher. To determine the Exceed patch level you need:

    1. Open the Exceed Xconfig tool.
    2. Open Troubleshooting.
    3. In the Troubleshooting window, click the View button. The version is listed at the top of the Exceed log. For example, after applying the patch Exceed.exe 6.0.2.18, in the Exceed.log file, the version will be listed as 6.2.0.18.

    See InfoCenter article 1.2.2.4.1.1 for many more tips and instructions.

    Resizing the left panel of the Java administrative console causes the panel to become squashed and then cannot be resized. All Click the Topology view, then resize the left panel.
    The XML import feature of the Java administrative console does not completely handle security configurations. All Instead of the Java administrative console import, use the XMLConfig command line utility for security configurations that include passwords.

    The background for this recommendation is as follows:


    This adversely affects security, which requires the variable substitution feature of XML import to replace password variables in the XML file with actual values. Instead, password variables are exported and are expected to be replaced during import.This would limit password exposure to a single time while invoking the import command.
    Security configuration areas affected by this password limitation include administrator access, LTPA, LDAP, and enterprise application identities.
    After installing WebSphere Application Server, you elected to install the default configuration, and the fully-qualified domain name (FQDN) is not included in the Alias Host list of the default_host Virtual Host. Access by http://<FQDN>/servlet/snoop may fail. All Add a virtual host alias for the fully-qualified domain name (FQDN) of your machine running the Web Server. The short name is automatically defined, but some systems do not automatically define the FQDN:
    1. Go to the Topology view of the Administrative Console.
    2. Select default_host.
    3. Edit the Advanced properties panel and add a fully qualified virtual host alias, including domain name.
    4. Restart the Default Server Application Server.
    Stopping the administrative server while it is initializing or while it is starting up application servers stops the administrative server but also causes some java.exe processes to be left running. These processes can be seen in the Task Manager. Windows NT/2000 It is recommended that you not stop the administrative server while it is initializing or starting up application servers. If some java.exe processes are left running, end the processes using the Task Manager.
    The WebSphere Application Server help does not display in a web browser after a user selects an option from the Help menu of the administrative console, clicks a Help push button, or makes a similar request to access Help. Solaris A web browser must be running before a user tries to access the product online help.
    The font for the administrative console is ugly. Japanese Turbo Linux Java2 has True Type font (TT fonts) rendering capability for swing components and, if the operating system has TT fonts, Java can take advantage of them. However, there are some cases where the TT fonts installed on the operating systems are not satisfactory in quality (as is often the case with Linux). In such cases, you can use an IBM TT fonts. To install a more attractive IBM TT font:
    1. Download the TT font. The font is available at http://www6.software.ibm.com/dl/dklx130/dklx130-p. You must finish the user registration prior to downloading, if you have not registered before. Note that the size of the font might be more than 20 MB.
    2. Copy the downloaded fonts to the JAVA_HOME/jre/lib/fonts directory.
    3. Edit the font property file. The font property files in IBM's Java2 SDK are preconfigured for the IBM's (WorldType) fonts by default. Therefore, you often do not need to edit the font property file, except for some double-byte languages.

      For Japanese systems, edit the font.properties.ja file, which is in JAVA_HOME/jre/lib. Replace the

      -*-minchol-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0
      alias with
      -monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-jisx0208.1983-0
      Also, replace
      -*-minchol-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0
      with
      -monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-p-*-jisx0201.1976-0

      When editing the font.properties file, ensure that you keep the system running.

    4. If you still cannot see the installed font, ensure that LC_ALL is set appropriately for your locale. LC_ALL outweighs another environment variable LANG, which also affects Java's current locale.

    Enterprise Beans

    Problem Op System Workaround
    When a database does not support FOR UPDATE clause and the following access pattern is frequent, deadlocks could occur in the database.

    All Transaction 1:
    Select * from tb1 where id=1
    Select * from tbl2 where id=2
    ---------------------------- x
    Update tbl2 .. where id = 2
    Update tbl1 ... where id=1

    Transaction 2:
    Select * from tb1 where id=1
    Select * from tbl2 where id=2
    ----------------------------- x
    Update tbl2 .. where id = 2
    Update tbl1 ... where id=1

    If both transactions are at point x, then both have obtained read locks on data item represented by id=2. Now neither transaction can upgrade to write locks necessary to execute the next update statements. Usually, the database detects the deadlock and aborts one transaction. FOR UPDATE clause on select statements allows us to obtain a write lock while executing the select statement before point x and prevents the deadlock.
    While configuring the Resource Security to an existing Enterprise application a HotSpot Virtual Machine Error might occur while adding a clone of an Enterprise Java Bean. This will cause your administrative server to restart. HP-UX 11.0 (Advanced Custom Configuration) Disabling the HotSpot compiler will resolve the issue.
    This can be done by removing the HotSpot compiler from the runtime path.
    For example: mv /opt/WebSphere/AppServer/java/jre/lib/PA_RISC/hotspot
    /opt/WebSphere/AppServer/java/jre/lib/PA_RISC/hotspot.bak
    mv /opt/WebSphere/AppServer/java/jre/lib/PA_RISC2.0/hotspot
    /opt/WebSphere/AppServer/java/jre/lib/PA_RISC2.0/hotspot.bak
    The following error displays when trying to deploy specific beans within a jar file:
    Drive, com.transarc.systest.ejs.webpennies.
    EJBCount does not exist. Please verify the
    appropriate drive was given.

    Note: webpennies and EJBCount in the above error message is the application used for testing.

    Solaris, AIX, Linux The error occurs when you try to deploy only one entity bean stored within a .jar file.

    Select the entire *.jar file for deployment. You are then given the option to click Yes to deploying all the entity beans within the file.

    JNDI lookup EJBHome fails to return and instance of org.omg.CORBA.Object. Try code such the following:
    try
    {
     tmpObj = ic.lookup ("V3Phone");
    }
    catch (NamingException ne)
    {
     System.out.println("MyPhoneBookServlet 
       FAILED to lookup \"EmployeeBean\":");
     ne.printStackTrace();
    }
    if (tmpObj instanceof org.omg.CORBA.Object)
    {
     phoneHome = 
      (V3PhoneHome)javax.rmi.PortableRemoteObject.
        narrow(tmpObj,V3PhoneHome.class);
     System.out.println("after phoneHome narrow" 
       + phoneHome);
    }

    Note that the above (V3PhoneHome) statement should all be on one line with no space between PortableRemoteObject. and narrow; the line is divided here to improve readability. Also note that println prints null for phoneHome because tmpObj is not an instance of rg.omg.CORBA.Object.

    All Comment out the condition //if (tmpObj instanceof org.omg.CORBA.Object)
    There is no BLOB or CLOB support for WebSphere Application Server Version 3.5 on HP using DB2 with Container Managed Persistence (CMP). HP-UX Any CMP bean which is to be run on the HP platform with DB2 as its persistent store CANNOT designate a Serializable object type as a CMP field.
    Some enterprise beans request more database connections on DB2 than are configured for the database, resulting in trap errors on 8-way Windows NT systems. All  
    Enterprise bean clients are unable to interpret server-side exceptions in stack traces. All Enterprise bean clients must have access to server-side exception classes to interpret server-side exceptions in stack traces. Examine the server-side trace logs for the complete error information or make server-side classes available on the client.
    When trying to view a distributed transaction, the transaction monitor will not display and, if you persist in trying to access the transaction monitor, the Java administrative console hangs.

    All To stop the console from hanging, restart the administrative console. However, you still will not be able to access the transaction monitor.
    The Jetace tool displays this message when loading a JAR file:
    java.lang.NoClassDefFoundError
    All When using the Jetace tool, make sure all dependent classes (and dependencies those classes have) are on the classpath.

    See InfoCenter article 6.3 for guidance.
    Because of application programming practices, an application getting an enumeration of objects from an enterprise bean gets fewer than the expected number of objects. All Whenever possible, invoke entity bean finders and the iteration through a resulting enumeration within a single transaction. Some benefits are:
    • Iteration through the enumeration will be 2-4 times faster if done within the same transaction in which the find method was invoked.
    • Consistency will be maintained; otherwise, iteration through an enumeration obtained from a finder may return unexpected results if done with no transaction. This is because concurrent access to the beans may have changed their data between the time the enumeration was constructed and the time at which it is consumed.

    If an entity bean finder is invoked within one transaction (for example, a transaction which a client started via UserTransaction or from a TX_REQUIRED session bean method), the resulting enumeration must be consumed within the same transaction. The result of a finder becomes invalid once the transaction completes.

    The following is an example of finder usage which does not meet the above requirement:
    UserTransaction tx = ...;
    tx.begin();
    Enumeration e = myEntityHome
    .findGreaterThan(100);
    tx.commit();
    while (e.hasMoreElements()) {
    ....
    }

    The code should be rewritten as follows: UserTransaction TX = ...;
    tx.begin();
    Enumeration e = myEntityHome
    .findGreaterThan(100);
    while (e.hasMoreElements()) {
    ...
    }
    tx.commit();


    Though not recommended, the following works, but with no guarantee of transactional consistency:
    UserTransaction TX = ...;
    tx.begin();
    ...
    tx.commit();
    Enumeration e = myEntityHome
    .findGreaterThan(100);
    while (e.hasMoreElements()) {
    ...
    }

    Data in non-persisted fields of an entity bean is not maintained across transactions. All Entity beans should not rely on data stored in non-persisted fields (particularly, references to other beans) being maintained across multiple transactions. Entity bean instances are stored in an object pool between transactions. Each time a new transaction begins, it retrieves one of the entity bean instances in the pool and loads persisted data for the requested bean. Non-persisted fields may contain values set by a different bean used previously. If necessary, you can reinitialize the data in the non-persisted field in the bean's ejbLoad() method.
    In an inheritance hierarchy involving CMP beans, using the results of an enumerated finder outside the transaction the finder was run in may lead to results which violate the inheritance behavior. The behavior may be described by the following scenario:

    Consider an inheritance hierarchy involving the CMP beans Bean P (Parent) and Bean C (child). Assume that there is one instance of P (P1) and one instance of C (C1). An enumerated finder on P will return P1 and C1. However, attempts to use C1 outside the transaction in which the finder was run would result in its behaving like an instance of P (ie, the methods would have P's behavior, not C's behavior).

    All Clients should start a transaction before running enumerated finders on CMP hierarchies, and should use the results of the finder within the same transaction. If this is done, using the scenario on the left, attempts to use C1 will demonstrate C's behavior, as expected, instead of P's behavior.

    Servlets

    Problem Op System Workaround
    When a client prematurely ends a connection to the servlet engine, the following error displays:
    nativeWrite operation: Status Code: -1
    All This error message is not indicative of a problem and occurs during normal operation as users close their browser or other network outages occur.
    If the clone is created on the same node and the option "Make XXX a clone" is not selected when creating the Model, the clone can not be created successfully. This happens because two servlets can't use the same URI unless they are both clones or they are on different nodes. Otherwise the URI duplication error will occur. All

    If the clone is created on the same node, the option "Make XXX a clone" must be selected when creating the Model. If the clone is created on a different node, the option "Make XXX a clone" doesn't need to be selected.

    Any web application using the InvokerServlet installed prior to FixPak 3 will not work. After installing WebSphere Application Server FixPak 3, the following error displays:
    404 Not found error

    The problem is due to a FixPak 2 change in the way URIs are handled.

    All
    1. Go to the Topology view of the administrative console.
    2. Under the web application, choose Auto-Invoker or InvokerServlet servlet.
    3. On the General Properties panel, select the Servlet Web Path List and click Edit.
    4. Modify the Servlet Path to end in "/*".
    5. Click OK.
    6. Click Apply.
    7. Stop and Restart the Application Server.
    When you choose the 'Add a servlet' option from the Wizard tab, the following error displays:
    RepositoryOpException: 
     Unexpected naming exception and other exceptions.
    AIX Ignore the error. The servlets will be created.
    The servlet engine setting for Max Connections is over 25 and the servlet engine is encountering problems. Linux Set Max Connections to 25 (the default and optimal setting).
    JSP, HTML and associated image files are case sensitive when served by the File Serving Enabler Servlet (also known as SimpleFileServlet). 404 errors are returned for the specific resource. Windows NT/2000 Case sentivitity for JSP, HTML and associated image files was implemented to resolve a security hole on Windows platforms. If a resource was secured using a URI, only the exact case match was secured. The implementation change affects both secured and nonsecured URIs.

    To stop receiving 404 errors, change your application.

    Java Server Pages Files (JSP files)

    Problem Op System Workaround
    The location of JSP files that reside in subdirectories of the Web application's document root are reflected in the names of the servlets generated by the JSP Enabler. For JSPs that are in deeply nested subdirectories or in subdirectories with long names, the file name of resulting servlet name may exceed the length allowed by the operating system. When this occurs the following message displays:
    Can't write: long_file_name
    All To fix this, try one of the following or a combination of all three workarounds:
    1. Reduce the subdirectory level that the JSP is nested.
    2. Shorten the length of the names of the directories.
    3. Shorten the names of the JSPs.
    Using JSP 1.1 to trace and debug JSPs is not available. All  
    The flastmod NCSA tag returns a false date and time. All If the target file for an flastmod query does not exist or cannot be found, the query response will be a false date and time (always "Wed Dec 31 19:00 1969").

    Ensure that the target of an flastmod query exists and can be found in the specified path.

    Sessions

    Session persistence is supported with the following databases:

    Session persistence is not supported for Merant drivers.

    Problem Op System Workaround
    Sybase 12.0 does not support local transaction modes with a JTA-enabled data source. All To use a connection from a JTA-enabled data source in a local transaction, install Sybase patch EBF9422.

    Connection Pooling

    Problem Op System Workaround
    JTA support doesn't work correctly with Sybase JDBC driver. All Create the table with the JTA flag off, and then access the table with JTA on.
    Under load conditions, 512 MB systems only support a DB2 connection pool size of 10 connections. AIX, Solaris To run more than 10 connections, you will need more than 512 MB. On average, DB2 connections will use 1-2 MB each.

    When sending a large number (for example, 100 simultaneous users) of requests, use 512 MB to run with 10 connections. The 512 MB includes the administrative server, application process, and so on. DB2 connections usually run about 1.5 MB to 2 MB, so if you want to run more than 10 connections, you will need more than 512 MB.

    Workload Management

    Problem Op System Workaround
    The administrative server failover is not supported in version 3.5.4. When the bootstrap administrative server in a WebSphere Application Server fails (that is, its network cable is disconnected), subsequent client requests will not failover to another admininstrative server. All
    1. Stop the client.
    2. Edit the BootstrapNode and BootstrapHost properties files on the client to point to a remaining live administrative server.
    3. Restart the client application.
    The WebSphere version of Remote Invocation Method compiler (RMIC) is not properly installed. WLMJAR does not operate correctly with the JDK version of RMIC. AIX The correct version of RMIC should be in the path. Usually there is a link in /usr/bin for RMIC, and the problem can be corrected by executing:
    ln -sf
     /usr/WebSphere/AppServer/hosts/default_host/
       admin/install/aix/rmic
     /usr/bin/rmic
    The WLMJAR program might choose the JDK version of the WebSphere Application Server version. Windows NT/2000 Ensure that your JDK \bin directory does not appear before the WebSphere Application Server \bin directory in your PATH environment variable.
    When using a model and clone and using a remote node name in the main server default host, the model index does not change and the queues.properties file does not update for clone count and two hosts.

    When the web server is installed on an independent machine that is not a local node or remote node for model/clone, it does not require a workaround.

    All This workaround applies for the iPlanet, Netscape Enterprise Server, Apache, and IBM HTTP Server web servers. Edit the queues.properties and bootstrap.properties files. For example, when using IBM HTTP Server:
    1. Follow the usual steps for configuring Remote OSE:
      1. Create your final configuration (application servers and clones).
      2. Modify the host alias entry on virtual host as required.
      3. Change the servlet engine transport to inet sockets (Windows NT and AIX).
      4. Start your application server or model.
      5. After the queues.properties file in WebSphere_root/temp refreshes, stop the application server or model and the administrative server(s).
      6. Modify the queues.properties file to reflect your configuration.
    2. Modify the queues.properties file so that both machines are "remote":
      #IBM WebSphere Plugin Communication Queues
      ose.srvgrp.ibmoselink.clonescount=2
      ose.srvgrp=ibmoselink
      ose.srvgrp.ibmoselink.type=FASTLINK
      ose.srvgrp.ibmoselink.clone1.port=8110
      ose.srvgrp.ibmoselink.clone1.type=remote
      ose.srvgrp.ibmoselink.clone1.host=clone1_hostname
      #
      ose.srvgrp.ibmoselink.clone2.port=8110
      ose.srvgrp.ibmoselink.clone2.type=remote
      ose.srvgrp.ibmoselink.clone2.host=clone2_hostname

      Place the modified file and a copy of the rules.properties and vhosts.properties files into a different directory. For example, create an http subdirectory below WebSphere_root/temp for a path of WebSphere_root/temp/http and place the files into the new subdirectory.

    3. Copy the bootstrap.properties file in WebSphere_root/properties. The key entry looks like ose.tmp.dir=d:/WEBSPH~1/APPSER~1/temp/. This property specifies the directory where the administrative server places the three properties files noted above, and where the HTTP server plugin looks to find the properties files. In the copy, change the entry so that the HTTP Server can find the properties files. Thus, if the files are in WebSphere_root/temp/http, the entry should look like ose.tmp.dir=d:/WEBSPH~1/APPSER~1/temp/http.

      Note that this is a copy of bootstrap.properties because you want the administrative server to continue to update the properties files in the original location and leave the modified files unchanged. For ease of administration, create an http subdirectory under WebSphere_root/properties, for a path of WebSphere_root/properties/http, which is where you then place the modified bootstrap.properties file.

    4. Modify the plugin entry for bootstrap.properties in the HTTP server configuration file. By default the entry looks like:
      NcfAppServerConfig BootFile
      d:\WEBSPH~1\APPSER~1\properties\bootstrap.properties

      Because you want the plugin to use the modified properties file in, continuing the example, WebSphere_root/properties/http, change the entry so it looks like:

      NcfAppServerConfig BootFile
      d:\WEBSPH~1\APPSER~1\properties\http\bootstrap.properties

      For Netscape Enterprise Server or for iPlanet, modify the obj.conf file. By default the entry you should modify looks like the statement below, except the statement is shown here on two lines to improve readability:

      Init fn="init_exit" bootstrap.properties=
        "d:\WEBSPH~1\APPSER~1\properties\bootstrap.properties"

      Because you want the plugin to use the modified properties file in, continuing the example, WebSphere_root/properties/http, change the entry so it provides a statement similar to that below, except place the statement on one line:

      Init fn="init_exit" bootstrap.properties=
        "d:\WEBSPH~1\APPSER~1\properties\http\bootstrap.properties"

      For Microsoft IIS or for Domino, modify the registry setting for bootstrap.properties. The path in the registry for this is HKEY_LOCAL_MACHINE/SOFTWARE/IBM/WebSphere Application Server/version. By default the entry looks like the statement below, except the statement is shown here on two lines to improve readability:

      bootstrap.properties 
        "d:\WebSphere\AppServer\properties\bootstrap.properties"

      Because you want the plugin to use the modified properties file in, continuing the example, WebSphere_root/properties/http, change the entry so it looks like the one below, except place the entry on one line:

      bootstrap.properties 
        "d:\WebSphere\AppServer\properties\http\bootstrap.properties"
    5. Restart the administrative server(s), application server(s), and HTTP servers.
    Difficulty setting up a WLM environment with clones. All Workload management in version 3.5.3 used a "Least Loaded" algorithm that version 3.5.4 replaces with a "Round Robin" or "Random" algorithm.

    WebSphere WLM (as provided by the webserver plugins) attempts to distribute the workload amongst peer servers, or clones. No distinction is made amongst the clones, either in regard to the host machine or the capacity of the clone. All clones are considered equal by WLM.

    Round Robin clone selection simply steps through the clones in order as requests come in. The first request goes to the first clone, the second request goes to the second clone, and so on. After the last clone the next request goes to the first clone. When first starting however, the plugin selects a random clone to start with, so that when started with heavy traffic the work is initially distributed randomly amongst the clones.

    Random clone selection selects a clone randomly each time a request arrives. Random selection is enabled by setting ose.srvgrp.ibmoselink.clone.selection=RANDOM in the file bootstrap.properties (for queue ibmoselink).

    If Session Affinity is enabled, then any request that contains a cookie (or URL) with a WebSphere sessionid will bypass WLM and be routed to a single clone. Different sessionids will select different clones, but a certain sessionid should always connect to the same clone, the one for which it has the "affinity". Session Affinity can be enabled or disabled in the bootstrap.properties file (default is ose.session.affinity=true).

    If any of the defined clones are stopped, then Failover strategy is used for requests which would otherwise select that clone. When a sending a request to a clone results in an error, the clone is marked as failed. No more requests are sent to that clone except when the fail recovery time has expired. When that time has expired the next request for that clone will be sent, in order to determine if the clone is back in service. If that request is successful then the clone is marked as operational and requests to it are handled normally. It is not a good idea to have clones stopped during heavy usage: some requests will be sent to the down clone and will thus suffer delay before being routed to another clone. If a clone is going to be down for a day, it is better to remove the clone using the administrative console than to stop it for the day.

    Refer to the IBM Redbook WebSphere Scalability: WLM and Clustering for more information.

    Security

    Problem Op System Workaround
    Customers want to protect individual JSP files based on the Webpaths (URIs) and do not want to protect all the JSP files (*.jsp) in the system. The documentation for adding JSP URI to a Web application suggest using "Add JSP or Web resource" task. This task adds the JSP URI but does not add the JSP to the web application.

    When you configure steps to protect the JSP Webpaths (URIs), the Webpaths (URIs) are treated as Web server resources because they are not part of a Web application. Therefore, security doesn't work as intended.

    All Do not use the "Add a JSP or web resource task" to introduce new JSP Webpaths (URIs) and to associate with web applications. If you have already done so, first remove all the Webpaths (URIs) and then follow these steps:
    1. Select the Topology View.
    2. Expand Node->App Server->Servlet Engine to view the web application.
    3. Select the JSP file processor servlet in that application.
    4. In the configuration panel for that JSP file, there is a list of Web paths; it should contain /default_host/webapp_path/*.jsp
    5. Click Add (to add to the web path list).
    6. Enter the Webpaths (URIs) you want to protect (for example, /default_host/webap_path/toBeProtected.jsp)
    7. Repeat (6) for all the JSP files you want to protect.
    8. Apply and complete this task.
    9. Follow security configuration steps to protect these newly added JSP files.
    10. Restart the Application server.
    You encounter the following error when starting the WebSphere Administrative Server:
    com.ibm.ejs.security.registry.
       RegistryErrorException:
     Windows NT: Access is denied
    Windows NT/2000 The user ID that will be used to start the WebSphere server in Windows NT or Windows 2000 platforms needs Administrator rights. Add the user ID under which the server is running to the group.
    When using WebSphere Application Server with Domino Versions 5.02, 5.02B, and Domino 5.03 LDAP directories, you encounter problems, such as intermittent server hanging. The problems occur when WebSphere is enabled, with LTPA as the authentication mechanism.

    Also, Domino Version 5.05 is required for Windows 2000 support.

    All  
    WebSphere Application Server does not currently support TBSCertificate extensions for client authentication and authorization. All WebSphere Application Server does support certificate mapping using Subject DN or Issuer DNs.
    When security is enabled, administrators must specify two different Secure Sockets Layer (SSL) port numbers for use by the administrative server. All On the server command line, define two port numbers using the -D option:

    For the listener port, specify:

    com.ibm.CORBA.SSLPort

    For Location Service Daemon (LSD) port, specify:

    com.ibm.CORBA.LSDSSLPort

    The values of these two properties must be different.

    You cannot run IKeyman in the WebSphere environment. All If you installed both IBM HTTP Server and WebSphere Application Server Advanced Edition on the same host:
    • On Windows NT/2000, enter the following commands to run the IKeyman keyring management tool:
      cd <WebSphere_installation_directory>\bin
      setupCmdLine.bat
      set PATH=%JAVA_HOME%\bin;
      %JAVA_HOME%\jre\bin;
      %JAVA_HOME%\jre\bin\classic;%PATH%
      set CLASSPATH=%WAS_HOME%\lib\cfwk.zip;
      %WAS_HOME%\lib\gsk4cls.jar;
      %WAS_HOME%\lib\swingall.jar;
      %CLASSPATH%
      java -Dkeyman.javaOnly=true
      com.ibm.gsk.ikeyman.Ikeyman
    • On AIX, Solaris or HP-UX, enter the following commands to run the IKeyman keyring management tool:
      cd <WebSphere_installation_directory>/bin
      setupCmdLine.sh
      set LIBPATH=$JAVA_HOME/jre/bin:
      $JAVA_HOME/jre/bin/classic:$LIBPATH
      set PATH=$JAVA_HOME/bin;
      $JAVA_HOME/jre/bin;$PATH
      set CLASSPATH=$WAS_HOME/lib/cfwk.zip;
      $WAS_HOME/lib/gsk4cls.jar;
      %WAS_HOME%/lib/swingall.jar;
      $CLASSPATH
      java -Dkeyman.javaOnly=true
      com.ibm.gsk.ikeyman.Ikeyman

      or, instead of using the java command, run /usr/opt/ibm/gskit/bin/gsk4ikm


    If you did not install IBM HTTP Server:
    • On Windows NT/2000, enter the following commands to run the IKeyman keyring management tool:
      cd <WebSphere_installation_directory>\bin
      setupCmdLine.bat
      set PATH=%JAVA_HOME%\bin;
      %JAVA_HOME%\jre\bin;
      %JAVA_HOME%\jre\bin\classic;%PATH%
      set CLASSPATH=%WAS_HOME%\lib\cfwk.zip;
      %WAS_HOME%\lib\gsk4cls.jar;
      %WAS_HOME%\lib\swingall.jar;
      %CLASSPATH%
      java -Dkeyman.javaOnly=true
      com.ibm.gsk.ikeyman.Ikeyman
    • On AIX, Solaris or HP-UX, enter the following commands to run the IKeyman keyring management tool:
      cd <WebSphere_installation_directory>/bin
      setupCmdLine.sh
      set LIBPATH=$JAVA_HOME/jre/bin:
      $JAVA_HOME/jre/bin/classic:$LIBPATH
      set PATH=$JAVA_HOME/bin;
      $JAVA_HOME/jre/bin;$PATH
      set CLASSPATH=$WAS_HOME/lib/cfwk.zip;
      $WAS_HOME/lib/gsk4cls.jar;
      %WAS_HOME%/lib/swingall.jar;
      $CLASSPATH
      java -Dkeyman.javaOnly=true
      com.ibm.gsk.ikeyman.Ikeyman
    • Then, follow the online documentation on using the IKeyman tool.
    When security is enabled in WebSphere Application Server, if you specify the ORB property com.ibm.CORBA.ListenerPort to define the listener port for an application, it does not affect the ORB. The ORB continues to generate a new port dynamically and uses it instead of the one specified. This situation occurs especially when using a DMZ configuration, particularly the servlet redirector scenarios. All Specify instead com.ibm.CORBA.SSLPort.

    If you are starting an application server as:
    java -Dcom.ibm.CORBA.listenerPort=7777
    <other parameters>

    then, if security is enabled, start the server as:

    java -Dcom.ibm.CORBA.SSLPort=7777
    <other parameters>
    If a model (or one of the clones) is secured, and WLM is enabled, accessing a bean in the cloned environment results in an Authorization failure on the server side or an ObjectNotFound or an access exception on the client side, where the client is accessing the cloned bean. All Apply a security configuration to each clone. In a model/clone environment, security needs to be applied to each clone that needs to be secured. If the model is secured, then the security configuration will not automatically apply to all of the model's clones. All clones need to be added to an appropriate enterprise application and a "Configure Resource Security" task must be applied to all of those clones.
    After changing the password of the user ID in the user registry, you have problems starting WebSphere Application Server because the user ID and password are invalid. The password of the user ID referred to is associated with WebSphere and configured in the UserRegistry task panel.

    Windows NT/2000 The only way to change the user ID and password that would not affect other configuration information is to:
    1. Before changing the user ID and password in the registry and while the user ID and password are still valid in the registry, start the WebSphere Administrative Server and the WebSphere Administrative Console.
    2. Start the user management utility (LocalOS or LDAP tools), and then change the password.
    3. Make the corresponding change to the WebSphere Application Server user registry configuration:
      1. Select Global Security Settings, then User registry, then ServerID and password.
      2. Apply the changes.
    4. Restart the WebSphere Application Server.

    Performance and Stability

    Note that the API for manipulating WebSphere's dynamic servlet and JSP response cache has been significantly updated. It can be found in the com.ibm.websphere.servlet.cache package. See the InfoCenter for more details.

    Problem Op System Workaround
    The application server does not use "NoLocalCopies" or "By Reference" semantics.

    Performance is better when "NoLocalCopies" and "By Reference" semantics are used. This is true for both client-bean and bean-to-bean situations within the same JVM.

    All A performance and stability enhancement provided in the Util Delegate class can be used by application servers to improve performance.

    Set the command line options for the application server with this property:

    -Djavax.rmi.CORBA.UtilClass=com.ibm.CORBA.iiop.Util
    -Dcom.ibm.CORBA.iiop.noLocalCopies=true
    DB2 databases are local and multiple connections cannot be established successfully. Solaris, AIX Catalog the DB2 databases using a TCP/IP loopback.
    To implement TCP/IP loopback without having the need to change the application to connect to the new alias and the USER and USING parameters, step 5 below does the trick.
    1. Set up a TCP/IP port in /etc/services if a port for remote DB2 clients has not been setup yet.
    2. Ensure that the TCP/IP communication protocol has been specified by the DB2COMM registry parameter. To check the current setting of the DB2COMM parameter, enter 'db2set DB2COMM'. To update the DB2COMM registry variable to include TCP/IP, use the db2set command.
      Example: db2set DB2COMM=existing_protocol_names,tcpip
    3. Update the SVCENAME database manager configuration parameter to the connection service name as defined in /etc/services (step 1).
      Example: db2 update dbm cfg using svcename connection_service_name
    4. Catalog the loopback node.
      Example: db2 catalog tcpip node nodename remote 127.0.0.1 server connection_service_name
    5. Catalog the database as follows:
      • db2 catalog db database_name as database_alias
      • db2 uncatalog db database_name
      • db2 catalog db database_alias as database_name at node nodename
      • Restart DB2 to refresh to directory cache.

      Note:For background information of the problem, please see the technote: http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?&fn=DWEB-4MKHBD.

    OLT and Debugging

    For this release, Standard/Advanced provides remote and distributed Java debugging support or tracing capabilities on Windows NT/2000, AIX, HP/UX, Linux, Linux/390 and Solaris, as described below:

    Problem Op System Workaround
    To install the debugger on Solaris, run the "dbgsetup" script. As shipped, this script does not have the execute bit set. All To run the dbgsetup script, issue the following command:
    chmod 755 dbgsetup
    Context sensitive help inside OLT/DD is not available. Windows NT/2000, AIX  
    The Distributed Debugger does not start when executing trace and debug. HP-UX To install the Distributed Debugger and Object Level Trace for use with WebSphere Application Server, do the following:
    • Copy the dertrjrt.jar from IBMDebug\lib to WebSphere\AppServer\lib
    • Open the Admin Console.
    • Add the following parameters to the command line arguments for your aplication server when you want to debug your application server:
      • Xdebug
      • Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777
      • Xnoagent
      • Dcom.ibm.debug.jdwpport=7777
      • Djava.compiler=NONE
      • Xbootclasspath/a:%JAVA_HOME%\lib\tools.jar;
    When running the OLT Viewer, you attempt to change the Execution Mode in the Client Controller for a connected client. When you click Apply, the view freezes. Windows NT/2000 3.5, 3.5.1, 3.5.2 only. This problem was fixed in 3.5.3. Set the Execution Mode properly in the Client Controller for the Default settings before you begin tracing. Do not attempt to change the Execution Mode after starting the trace.

    Tracing

    Problem Op System Workaround
    Dynamic tracing from the Java administrative console (Console->Trace->Enabled) on a Windows NT workstation does start properly with javaw. Windows NT Edit the adminclient.bat file and make the following modification:

    Change javaw to java in the following line:

    @start %JAVA_HOME%\bin\javaw -Xminf0.15 -Xmaxf0.25 -classpath %WAS_CP%
    %CLIENTSAS% -Dcom.ibm.CORBA.principalName=%COMPUTERNAME%/AdminClient
    -Dserver.root=%WAS_HOME% com.ibm.ejs.sm.client.ui.EJSConsole %DEST%
    %DESTPORT% %DEBUGOPTS% %QUALIFYNAMES%

    Samples

    Problem Op System Workaround
    After installing the product, applying the FixPak, and restarting the application, the samples do not work. 500-type errors with SQL references are displayed. All Drop the sample database and follow the instructions in the Sample Gallery to recreate the sample database. Windows NT users may need to reboot after installing the FixPak.
    iPlanet 4.0 and 4.1 do not serve WebSphere samples. A message claims that iPlanet started; however iPlanet does not start. Solaris, Windows NT/2000 The iPlanet obj.conf file must have an entry for the samples to direct the web server to the WAS_ROOT/samples directory. Make sure the following line is in the obj.conf file:
    Init fn="load-modules" 
         funcs="init_exit,service_exit,auth_exit,term_exit" 
         shlib="/usr/WebSphere/AppServer/bin/libns40.so"

    To configure WebSphere samples, place the following line after <Object name=default> in the obj.conf file:

    NameTrans from="/IBMWebAS/samples" fn="pfx2dir" 
              dir="WebSphere_installation_directory/samples"

    Replace WebSphere_installation_directory with the appropriate installation directory; for example, /opt/WebSphere/Appserver.

    Note that the above changes to obj.conf should each appear on one line. The entries are shown here on multiple lines to make the information more readable.

    Next, restart iPlanet and test the samples.

    When you use DB2 and overlap the WebSphere Application Server samples installation with the installation of WebSphere Studio samples, the Studio servlet does not work because it tries to use the table name (WSDEMO) as the alias (WSDEMO). All The WebSphere Studio samples configuration expects to have a DB2 database called sample created by a user other than WSDEMO. The Studio version of the CreateDatabase servlet will create and populate the tables that the Studio samples need, and give them a WSDEMO alias.

    The Application Server samples can have a DB2 or other relational database (Oracle, Sybase, etc.) designated with any name. The Application Server samples version of the CreateDatabase servlet creates tables using the WSDEMO userid which becomes part of the table name.

    Therefore, if the Application Server samples are installed first and a DB2 database is created with the name sample, the sample configuration instructions use sample as an example database name. Although the name sample isn't required, most users use it because it is the example.

    Because dataSources are used in a certain way, it is necessary to change the name of the database and the database name that it points to. The samples code also needs to be changed because it uses the names in the .servlet files.

    Follow these steps:

    1. When creating the DB2 database during "DB2 Database Configuration", name the database something other than "sample."
    2. When creating the dataSource during "DB2 Database Configuration", name the dataSource something other than "sample."
    3. Edit the samples' .servlet files and change the dataSourceName and database name to the names used during creation. These files are located in WebSphere_home/AppServer/hosts/default_host/WSsamples_app/servlets/WebSphereSamples/[Sample].

      The lines in the servlet file look like this:
      Database Name: --> change "sample" to [whatever]
      DataSource Name: --> change "sample" to [whatever]
    WebSphereSamples fails with /servlet/xxx not found when using fully-qualified hostname. All If the WebSphereSamples fail when using the fully-qualified hostname, but run successfully when using the IP Address or localhost, add a virtual host alias for the fully-qualified domain name (FQDN) of your Web server. The short name is automatically defined, but some systems do not automatically define the FQDN:
    1. Go to the Topology view of the Administrative Console.
    2. Choose default_host.
    3. Edit the Advanced properties panel and add a fully qualified virtual host alias, including domain name.
    4. Restart the Default Server Application Server.
    The db2390.sql sample supplied beginning with version 3.5.3 for S390 access is incomplete.

    The DB2 columns of type ROWID require the NOT NULL keyword, which is not supplied.

    Also, the Add INCBEANTBL step requires a table definition, which is missing from the supplied JCL.

    All The following change command corrects the omission of the NOT NULL keyword:
    C'ROWID GENERATED''ROWID NOT NULL GENERATED' all

    As to the Add INCBEANTBL step, the following changes are necessary to avoid errors when starting the default server:

    1. Add to the IDCAMS DELETE portion of the documentation:
      DELETE hlq DSNDBC.wasdb.INCBNTS.I0001.A001
    2. Add to the IDCAMS cluster definitions:
      DEFINE CLUSTER -
       (NAME(hlq.DSNDBC.wasdb.INCBNT:I0001.A001)
       LINEAR
       REUSE
       VOLUMES(tgtVolume)
       RECORDS(100 50)
       SHAREOPTIONS(3 3) )
      DATA                                                          
       (NAME(hlq.DSNDBD.wasdb.INCBNTS.I0001.A001) )
    3. Add DDL to create the objects:
      CREATE TAVLESPACE INCBNTS IN wasdb
      BUFFERPOOL BP0
      LOCKSIZE ROW
      SEGSIZE 32
      USING VCAT hlq
      PCTFREE 15;
      CREATE TABLE EJB.INCBEANTBL(
       PRIMARYKEY             VARCHAR(50) NOT NULL,
       THEVALUE               INTEGER WITH  DEFAULT),
       PRIMARY KEY (PRIMARYKEY)) in wasdb.INCBNTS

      Note that BUFFERPOOL can be changed later.

    4. From OEDIT, issue a change all command for the following text occurrences with the JCL:
      tgtvolume
      Target volume for dataset allocation
      hlq
      High Level Qualigfier used for DB2 user datasets
      wasdb
      Name of the DB2 database you want to create for the administrative repository
      DBXX
      Name of the DB2 subsystem
      BP0
      Contact your system administrator for the proper DB2 buffer pool. It will likely not be BP0.
    5. In some environments, a JOBLIB card will need to be added for the SDSNLOAD library. Here is an example:
      //JOBLIB    DD    DSN=DBV.SDSNLOAD,DISP=SHR
    6. Add a GRANT statement for the newly created EJB.INCBEANTBL object:
      GRANT DELETE,INSERT,SELECT,UPDATE
       ON TABLE EJB.INCBEANTBL
        TO PUBLIC AT ALL LOCATIONS;
    7. The included JCL grants access to the objects to PUBLIC. Instead, consider granting access only to the userids used by WebSphere.