IBM WebSphere Application Server, Version 5.0.1 Release Notes

WebSphere Application Server Network Deployment, Version 5.0.1

This document contains the release notes for IBM WebSphere Application Server, Version 5.0.1. For the very latest updates, view the English online version of the Release Notes located at http://www.ibm.com/software/webservers/appserv/library/ .

Documentation for Version 5.0.1

Getting started and installation instructions

You can find the Getting Started information, which includes an overview and installation instructions for IBM WebSphere Application Server, Version 5, on the product CD-ROM as a PDF file. This PDF file is provided in English only. For the latest information on installing and using the product, see the online InfoCenter located at: http://www-3.ibm.com/software/webservers/appserv/infocenter.html .

To find installation information for Fix Pack 1, Version 5, see http://www-3.ibm.com/software/webservers/appserv/support/ .

WebSphere Application Server Enterprise customers should not install Fix Pack 1 for the WebSphere Application Server or WebSphere Application Server Network Deployment products

WebSphere Application Server Enterprise, Version 5 customers must wait for the Enterprise Fix Pack 1 before applying Fix Pack 1 to the WebSphere Application Server product or to the WebSphere Application Server Network Deployment product. The WebSphere Application Server Enterprise product must be at the same fix level as the base product or the Network Deployment product that it extends.

Applying Fix Pack 1 to the WebSphere Application Server product without applying it to the WebSphere Application Server Enterprise product causes the Enterprise environment to not work.

Supplemental documentation

The following documentation supplements the IBM WebSphere Application Server, Version 5.0.1 documentation, located at http://www.ibm.com/software/webservers/appserv/infocenter.html .

Known problems and workarounds

Installation and uninstallation

All platforms


AIX


Solaris


Windows 2000


Windows NT

Cannot install the pluggable client from the IBM WebSphere Application Server client CD on a Windows system


Windows 2000

Windows NT


You cannot install the pluggable client from the IBM WebSphere Application Server client CD on a Windows system.

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

VersionInfo command parameters are incorrectly described

The description of the versionInfo command is incorrect in the readme_updateinstaller files included with the Fix Pack 1 files.

Parameters do not include display.

Use these parameters to create a version report:

-format
TEXT | HTML

Selects the format of the report. The default is TEXT.

-file
<fileName>

Specifies the output file name. The report goes to standard output (stdout) by default.

-long
Produces the long version of the report.
-components
Adds a list of installed components to the report.
-componentDetail
Adds details about installed components to the report.
-efixes
Adds a list of applied fixes to the report.
-efixDetail
Adds details about applied fixes to the report.
-ptfs
Adds a list of applied fix packs to the report.
-ptfDetail
Adds details about applied fix packs to the report.

If you enter an incorrect parameter, the versionInfo command displays an error message that describes the parameter as invalid.

Use the -? or -help parameter to display correct command syntax.

Save the jdbc-resource-provider-templates.xml file before you install the WebSphere Application Server, Version 5 Fix Pack 1

In WebSphere Application Server, Version 5.0.1, the jdbc-resource-provider-templates.xml file is modified to include a new DB2 Universal JDBC provider and other JDBC provider name changes. If you have modified this configuration file in WebSphere Application Server, Version 5, save the jdbc-resource-provider-templates.xml file before installing the WebSphere Application Server, Version 5.0.1. Otherwise, the new XML file overwrites the jdbc-resource-provider-templates.xml file and your configuration data is lost.

Extra information displays in the Network Deployment response file

Extra information displays in the IBM WebSphere Application Server Network Deployment response file. Specifically, the following line appears and always must be commented:

#-W coexistencePanelBean.useIhs="true"

Port number used by the wsadmin tool can change during coexistence scenario

During a coexistence scenario, you can change the port number used by the wsadmin tool. If you do change the port number, you must invoke the wsadmin tool using the new port using one of the following commands:

wsadmin.bat/sh -conntype RMI -port <port_number>
wsadmin.bat/sh -conntype SOAP -port <port_number>

Alternatively, you can update the wsadmin.properties file located in the <WAS_INSTALL_ROOT>/properties directory to contain the new port values. If you do this, you do not need to specify the port parameter when using the wsadmin tool.

Installation requirements for the embedded messaging component


Windows 2000

Windows NT


If you want to install the embedded messaging component on IBM WebSphere Application Server and IBM WebSphere Application Server Network Deployment on the same machine for the Windows NT and Windows 2000 platforms, you must install IBM WebSphere Application Server first and then install IBM WebSphere Application Server Network Deployment. Otherwise, embedded messaging installation fails.

Coexistence problem between embedded messaging, IBM WebSphere Studio Application Developer Integration Edition, and IBM WebSphere Application Server

The IBM WebSphere Studio Application Developer Integration Edition and IBM WebSphere Application Server both include an option to install embedded messaging. The embedded messaging option in these two products is incompatible.

To avoid this problem, do not install embedded messaging for both products on the same machine.

When installing IBM WebSphere Application Server Enterprise, Version 5 on top of the Deployment Manager, the Javadoc is missing

When you install the IBM WebSphere Application Server Enterprise, Version 5 on top of the Deployment Manager from IBM WebSphere Application Server Network Deployment, Version 5 , the Javadoc for the IBM WebSphere Application Server Enterprise, Version 5 is missing.

To work around this problem, see the IBM WebSphere Application Server Support Web site at the following address: http://www-3.ibm.com/software/webservers/appserv/support/index.html

System calls are not restarted correctly within the Java virtual machine


Solaris

A problem exists in the Sun Java Development Kit on the Solaris Operating Environment, which is fixed in 1.3.1_07 (FCS Jan 2003), when the socket reads and writes randomly thrown InterruptedIOException or java.net.SocketException exceptions. The root problem is that system calls are not restarting as they should within the Java virtual machine.

See bugs numbers 4425033 and 4178050 at http://developer.java.sun.com/developer/bugParade for further details. If previous exceptions are encountered and are having a significant impact on your operation before availability of 1.3.1_07, contact IBM for support.

Preparing to uninstall WebSphere Application Server, Version 5 Fix Pack 1 (with WebSphere Embedded Messaging) on Solaris


Solaris

Before uninstalling WebSphere Application Server, Version Fix Pack 1 on Solaris, complete the following steps:

IBM Toolbox for Java JDBC driver

WebSphere Application Server supports the IBM Toolbox for Java JDBC driver. The IBM Toolbox for Java JDBC driver is included with the IBM Toolbox for Java product.

IBM Toolbox for Java is a library of Java classes that are optimized for accessing iSeries and AS/400 data and resources. You can use the IBM Toolbox for Java JDBC driver to access local or remote DB2 UDB for iSeries 400 databases from server-side and client Java applications that run on any platform that supports Java.

IBM Toolbox for Java is available in these versions:

The JDBC driver for both versions supports JDBC 2.0. For more information about IBM Toolbox for Java and JTOpen, see the product Web site at http://www-1.ibm.com/servers/eserver/iseries/toolbox/index.html.

For customers using WebSphere Application Server, Version 5 on platforms other than iSeries, the JTOpen version of the Toolbox JDBC driver is the one to download and use.

To configure or use the jt400.jar file, do the following:

  1. Download from the jt400.jar file from the JTOpen link. Place it in a directory on your work station such as C:\JDBC_Drivers\Toolbox.
  2. In the WebSphere Application Server, Version 5 administrative console, use the following links to set the WebSphere Application Server managed variable OS400_TOOLBOX_JDBC_DRIVER_PATH at the Node level: Environment > Managed WebSphere Variables.
  3. Double-click OS400_TOOLBOX_JDBC_DRIVER_PATH.
  4. Set the value to the full directory path to the jt400.jar file downloaded in step one. Do not include the jt400.jar file in this value. For example, OS400_TOOLBOX_JDBC_DRIVER_PATH == "C:\JDBC_Drivers\Toolbox"

This path is referenced in the jdbc-resource-provider-templates.xml file used to configure JDBC resource providers.

Complete the following steps to choose a Toolbox driver from the list of possible resource providers:

  1. Click Resources > JDBC Providers.
  2. Select New.
  3. From the JDBC Provider list, click UDB DB2 for iSeries (Toolbox) or UDB DB2 for iSeries (Toolbox XA).

When the provider is created, the Classpath field looks as follows: Classpath = ${OS400_TOOLBOX_JDBC_DRIVER_PATH}/jt400.jar.

Installing IBM HTTP Server updates with WebSphere Application Server Network Deployment Fix Pack 1

Fix Pack 1 for WebSphere Application Server Network Deployment contains updates for IBM HTTP Server, which allows you to update a copy of IBM HTTP Server that is installed on the same machine as the deployment manager. If the same machine has the deployment manager and the base WebSphere Application Server with as IBM HTTP Server as a feature, you only need to update IBM HTTP Server with the fix pack for base or the fix pack for Network Deployment but not both. To see if IBM HTTP Server has been updated, check the version.signature file in the IBM HTTP Server installation root directory. If the file says "IBM HTTP Server 1.3.26.1", then Fix Pack 1 is applied to IBM HTTP Server.

Uninstall fixes for IBM HTTP Server and MQ Series (Embedded Messaging) before installing fix pack updates to these features

If you have installed fixes for IBM HTTP Server or MQ Series Embedded Messaging, you need to uninstall these fixes prior to updating these features using the Update Installer. If you do not uninstall these fixes, the updates to IBM HTTP Server or Embedded Messaging made during the fix pack installation might fail or the installation might be faulty. You can choose to skip the updates IBM HTTP Server or Embedded Messaging if they are not required during fix pack installation. See the Update Installer documentation for more information.

Port updates for co-existence require a WebSphere Application Server installation

Port updates for co-existence require the installation of WebSphere Application Server. This requirement affects port updates for IBM HTTP Server co-existence. Port updates do not occur if only the IBM HTTP Server is installed. In this case, manually update the httpd.conf files.

The administrative console, or the adminconsole.ear file, does not function properly when com.ibm.websphere.sendredirect.compatibility is set to true

If you need to create a Java virtual machine (JVM) com.ibm.websphere.sendredirect.compatibility custom property and set it to true, create an additional server and install the application on the new server. The administrative application does not function properly when the com.ibm.websphere.sendredirect.compatibility property is set to true.

The administrative application fails because the login URL is modified by adding a second /admin.

To work around this problem, delete the second /admin from the URL in the browser.

Using the correct working directory when you run installation or uninstallation

When you run installation or uninstallation, the current working directory must be the directory where the installer or uninstaller binary is located. This placement is important because the resolution of the class files location is done in the current working directory.

For example:

cd INSTALL_ROOT/_uninst
./install

or:

cd <CD mount point>
./install

Failure to use the correct working directory can cause the ISMP errors that abort an installation or uninstallation.

You must restart the server after a configuration change

If you make any changes to the configuration, restart the server as noted in the messages section of the administrative console.

A core dump might occur when running WebSphere Application Server with DB2 V7.2 FP8 client in AIX 5.2


AIX

A core dump might occur when you are running WebSphere Application Server with DB2 V7.2 FP8 client in AIX 5.2 having all of the following configurations:

  1. You installed WebSphere Application Server in 64-bit AIX 5.2.
  2. You installed 64-bit DB2 V7.2 FP8.
  3. You created a 32-bit client instance to connect to the DB2 server.
  4. You installed applications which use DB2 data source in WebSphere Application Server.

A java core dumped error displays when you start the WebSphere Application Server. This is due to a DB2 problem. A defect has been opened to DB2.

To solve this problem, rename the libdb2lai.a file on your DB2 client machine as follows:

  1. Change to the /usr/lpp/db2_07_01/lib directory.
  2. Rename the file libdb2lai.a to libdb2lai.a.orig.
Back to Installation and uninstallation 
Back to Known problems and workarounds

Update installer application

All platforms


Solaris


Windows NT

Updating GSKit from level 5.0.5.48 to level 5.0.5.70 on the Solaris operating environment to eliminate a security exposure


Solaris

After you apply WebSphere Application Server, Version 5.0.1, the GSKit does not get updated on the Solaris operating environment. To update the GSKit from level 5.0.5.48 to level 5.0.5.70, perform the following steps:

  1. Change the directory to the gsk5install directory located in the /usr/WebSphere/AppServerl directory.
  2. Issue a pkgadd -n -d . gsk5bas command from the command prompt or install using the Solaris administrative tool utility.
  3. Issue the command gsk5ver to verify the update to level 5.0.5.70.

Multiple copies of the Update Installer should not be launched at one time

The update installer cannot be launched concurrently with itself. Performing more than one update at the same time can lead to a failed or faulty installation.

Currently, there is no solution for this problem.

You might receive a WUPD0248E exception when installing the fix pack


Windows NT

When you are installing the fix pack, you might receive an error similar to the following:

Exception: WUPD0248E: Fix pack update failure: The processing of fix pack was50_fp1_win, component prereq.jsse failed. 

If you receive the error message, go to the Java directory under the directory where WebSphere Application Server, Version 5 is installed, for example, the WebSphere/AppServer/java directory, and run the command attrib -r /s.

This problem is related to the read-only attribute being set for a number of files in the WebSphere/AppServer/java directory and subdirectories.

Migration

All platforms

Changes are made to the Java Database Connectivity providers in WebSphere Application Server Fix Pack 1

The following changes are made to the Java Database Connectivity (JDBC) providers in WebSphere Application Server Fix Pack 1:

  1. Fix Pack 1 provides a new JDBC provider for DB2. Use this JDBC provider to test the new DB2 Universal JDBC type 4 driver. This provider only supports 5.0 datas ource in WebSphere Application Server, Version 5.0.1. To distinguish between this new jdbc provider and the existing DB2 type 2 jdbc provider, Fix Pack 1 changes the name of the provider in thejdbc-resource-provider-templates.xml file to match the provider with the name.
  2. Fix Pack 1 merges both Oracle thin and oci drivers into one single Oracle provider because there are no property differences between these two drivers. Fix Pack 1 also marks the old jdbc providers as deprecated.
  3. The old Cloudscape and Sybase JDBC providers have version numbers in the names. To support new versions under the same JDBC driver provider in the future, Fix Pack 1 removes the version numbers. Fix Pack 1 also adds two Cloudscape and Sybase JDBC providers. Fix Pack 1 marks the old Cloudscape and Sybase JDBC providers as deprecated.

The removeNode command removes clusters from configuration

When migrating from a previous IBM WebSphere Application Server version to IBM WebSphere Application Server Network Deployment, you must first migrate each of the nodes and then use the addNode command to federate the WebSphere base product nodes into the Network Deployment environment. Later, the removeNode command can be used to remove the WebSphere base node from the Network Deployment environment.

But, the removeNode command removes the configuration entries from the clusters.xml file for the node. When you attempt to install an application on the cluster no members are found because the removeNode command deleted the entries.

To work around this problem, if you execute the removeNode command on a node that contains servers that are part of a cluster, you need to explicitly create new cluster member servers on that node if you want to add the node to the cell again.

Note:There are no functional changes, Fix Pack 1 only changes the names for usability reason.

The changed providers are:

Data source JDBC providers in Version 5 JDBC providers in Version 5.0.1
DB2 DB2 JDBC provider (deprecated) DB2 legacy CLI-based type 2 JDBC driver
  DB2 JDBC provider (XA )(deprecated) DB2 legacy CLI-based type 2 JDBC driver (XA)
    DB2 Universal JDBC driver provider (type 4 only)
Oracle Oracle JDBC thin driver (deprecated) Oracle JDBC driver
  Oracle JDBC thin driver (XA) (deprecated) Oracle JDBC driver (XA)
  Oracle JDBC oci8 driver (deprecated) Oracle JDBC driver
  Oracle JDBC oci8 driver (XA) (deprecated) Oracle JDBC driver (XA)
Cloudscape Cloudscape JDBC provider 5.0 (deprecated) Cloudscape JDBC provider
  Cloudscape JDBC provider 5.0 (XA) (deprecated) Cloudscape JDBC provider (XA)
Sybase Sybase 12.0 JDBC driver (deprecated) Sybase JDBC driver
  Sybase 12.0 JDBC driver (XA) (deprecated) Sybase JDBC driver (XA)


For a complete description of supported JDBC driver providers, required JDBC driver files and data source properties, see the Vendor specifications file (rdat_minreq) in the InfoCenter.

What do these changes mean to you?

If you use the Java command language Jacl to create a JDBC provider and data source and your script references those names (for example, you use the createUsingTemplate API to create a jdbc provider), you might have to change your Jacl to use the new name. Since the old names are deprecated, we recommend you change the names as soon as possible.

XMLConfig utility and migration integration

Migration uses the XMLConfig utility to save the WebSphere Application Server Advanced Edition, Version 4.0 configuration as part of migration. There are some fixes available to the IBM WebSphere Application Server Advanced Edition, Version 4.0 XMLConfig utility that you can apply if problems are occurring during the call to this utility during migration including:

PQ52555 - XMLConfig does not export clone property configuration
PQ55064 - XMLConfig does not export enterprise bean to DataSource level mappings
PQ58038 - Performing an XMLConfig export produces an extra CRLF
PQ62103 - XMLConfig full export fails with NullPointerException in a Multi-Node Environment
PQ62471 - Security AdminRoles are not getting exported during XML export
PQ63815 - "=" is not a valid character for the value string in XMLConfig

The WASPostUpgrade migration tool fails

You might receive an error in either of the following situations:

The errors, which display either on the command-line or in the Migration panel of the installation program, will be similar to the following:

MIGR0122E: Unable to read configuration file /opt/WebSphere/DeploymentManager/config/cells/
ws-sunfish2Network/nodes/
        at com.ibm.websphere.migration.postupgrade.TransformBaseConfiguration.resolveDirectory
(TransformBaseConfiguration.java:690)
        at com.ibm.websphere.migration.postupgrade.TransformBaseConfiguration.initializeDataModel
(TransformBaseConfiguration.java:587)
        at com.ibm.websphere.migration.postupgrade.TransformBaseConfiguration.doIt
(TransformBaseConfiguration.java:1145)
        at com.ibm.websphere.migration.postupgrade.Restore.doIt(Restore.java:153)
        at com.ibm.websphere.migration.postupgrade.Restore.<init>(Restore.java:93)
        at com.ibm.websphere.migration.postupgrade.WASPostUpgrade.restore(WASPostUpgrade.java:196)
        at com.ibm.websphere.migration.postupgrade.WASPostUpgrade.main(WASPostUpgrade.java:665)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
com.ibm.websphere.migration.exceptions.WASUpgradeInvalidConfigurationException:
MIGR0122E: Unable to read configuration file /opt/WebSphere/DeploymentManager/config/cells/
ws-sunfish2Network/nodes/.

To work around this problem, invoke the WASPostUpgrade migration tool after installation is complete. You must specify the -nodeName parameter with the deployment manager node when you use the WASPostUpgrade command. For more information on the WASPostUpgrade command, see the article entitled, "WASPostUpgrade command " in the IBM WebSphere Application Server, Version 5 documentation.

The maxSendSize and maxReceiveSize variable values do not migrate from IBM WebSphere Application Server, Version 4 to Version 5

After migrating to IBM WebSphere Application Server, Version 5, the maxSendSize and maxReceiveSize variable values, which are included in the WorkArea Service, are set to the Version 5 default values. These variables are not correctly mapped from Version 4 to Version 5.

To work around this problem, use the Customer Services section of the administrative console to update these variables with their Version 4 values.

Back to Migration
Back to Known problems and workarounds

NullPointerExeption thrown when you click the Test Connection for a 4.0 data source that is created from the WASPostUpgrade path

When you click Test Connection for a 4.0 data source that is created from the WASPostUpgrade path, the following exception displays:

DSRA8040I: Failed to connect to the Data Source.  Encountered: java.lang.NullPointerException

This exception is caused by a 4.0 data source that is created through the WASPostUpgrade path does not have any custom properties.

To avoid receiving the exception, create a valid DB2 custom property on the data source. For example, create a description in the Custom Property panel.

System administration

All platforms


Linux


Solaris


Windows 2000


Windows NT

System performance degrades when you configure the nodeagent failover with a certain script

If you configure the nodeagent failover with the script created by {WAS_HOME}/bin/startServer.sh nodeagent -script startnodeagent.sh -background script, the system performance degrades. A message similar to the following displays:

Feb 28 14:48:37 wastst12 init: Id "was" respawning too fast: disabled for 5 minutes

Configure the nodeagent failover with the script created by {WAS_HOME}/bin/startServer.sh nodeagent -script startnodeagent.sh to work around the problem.

Cannot use a server name that is a member of one cluster in another cluster

You cannot use a server name assigned to a cluster member elsewhere in the cell. For example, Cluster1 can have multiple members named server1, but no server in the cell outside the cluster can have the name server1. Otherwise, lookups which resolve to an object on a cluster, or a single server involved in the name conflict can fail. To work around the problem, assign unique names to cluster members.

Plugin-cfg.xml files on federated nodes can be overwritten

Because the plugin-cfg.xml file on a Network Deployment machine is stored in the configuration repository, the plugin-cfg.xml file is overwritten on all federated nodes in your network whenever the Network Deployment machine updates the configuration repository on these federated nodes. If you customize the plugin-cfg.xml files on your federated nodes, change the name of plugin_cfg_custom.xml and httpd.conf files in the Web server to point to the new file name. In a Windows environment, you must edit the Windows NT registry to update the plugin-cfg key to point to the new plugin-cfg.xml file for Domino and Internet Information Services (IIS) Web servers.

Issuing the addNode command can replace the plugin-cfg.xml file

After federating the Node, the addNode command backs up the plugin-cfg.xml file from the <install_root>/config/cells directory to the config/backup/base/cells directory. The addNode command in Fix Pack 1 regenerates a new plugin-cfg.xml file at the Deployment Manger and the nodeSync operation copies the files to the node level. You might experience a Web server failure due to the wrong directory name in the new plugin-cfg.xml file.

Wrong directory name in the Network Deployment plugin-cfg.xml file

When you regenerate the plugin-cfg.xml file through the network deployment manager, the resulting file contains path information specific to the Network Deployment installation. This file is replicated to the node level. Or, you can copy this file to a remote Web server. If the directory names do not match the product installation directory, the Web server cannot start. Edit the plugin-cfg.xml file and replace all occurrences of network_deployment_install_root with websphere_application_server_install_root.

For example, if you installed IBM WebSphere Application Server into the directory C:\WebSphere\DeploymentManager, replace all occurrences of C:\WebSphere\DeploymentManager with C:\WebSphere\AppServer. Use any text editor to change and edit any file locations.

For exmaple, the plugin-cfg.xml file has a line:

<Log LogLevel="Error" Name="/opt/WebSphere/DeploymentManager/logs/http_plugin.log"/>
which needs to change to
<Log LogLevel="Error" Name="/opt/WebSphere/AppServer/logs/http_plugin.log"/>

WebSphere Application Server Version 5 Fix Pack 1 has a new feature to retain the directory names you have changed in the plugin-cfg.xml file. If you want to regenerate the new plugin-cfg.xml file with the default values, delete the current plugin-cfg.xml file before generating the new file.

The -stopservers option on the syncNode utility does not work correctly

The -stopservers option on the syncNode utility does not work correctly if the node agent server is running. The syncNode tool is not needed if the node agent is running.

The node agent autoRestart feature depends on functional multicast protocol

The node agent monitors running application servers and other managed processes, and automatically restarts the process if it crashes or becomes non-responsive. This feature depends on the multicast IP protocol functioning between the node agent and the managed processes. If there is a problem with multicast protocol functioning on the system, or if it is desired to disable multicast support in the subnet where the system is running, the node agent autoRestart feature does not work correctly.

Servers can restart by mistake if multicast protocol is not working. In this situation, it is recommended to disable node agent autoRestart for the affected servers, and rely on the native operating system monitoring feature instead. The native operating system monitoring involves configuring the server as a Windows service on Windows operating systems, or creating an inittab entry for the rc.was script on UNIX operating systems. Information on setting up native operating system monitoring is in the documentation.

Unsynchronized system clocks cause failure

The security system requires system clocks across a secure cell to be synchronized. When running in a secure Network Deployment environment and the clocks of the systems in the cell are not synchronized, administrative operations fail because of authorization failures due to expired LTPA tokens.

See the article entitled, "Security considerations specific to a multi-node or process Network Deployment environment" for more information.

Empty NetworkDeploymentCell directory is left in the configuration directory

When you install IBM WebSphere Application Server, and you run addNode then removeNode, sometimes an empty NetworkDeploymentCell directory is left in the configuration directory making wsadmin think there are two cells configured.

The WebSphere product cannot delete the directory because the directory is locked by another application. The most common reason for this situation is that another application uses that directory or its subdirectory as the current working directory, or another application opens a file under that directory or subdirectory. This problem is most commonly seen on Windows platforms, but it can happen on other platforms.

To work around this problem, manually delete the empty directory structure, then restart the servers that use this configuration directory.

Accessing First Steps items on Linux 390 systems


Linux

When you select the following features from the First Steps GUI, the Web browser window does not open:

To access these features:

  1. Open a Web browser window on another machine.
  2. Type the browser URL that displays in the First Steps status window into the address field of the Web browser.
  3. Click Enter to open the page in the Web browser.

The Domino Server plug-in fails to configure on Solaris Operating Environment


Solaris

During installation, a dsapi_stderr.txt file is created in the logs directory and you can get the following error messages:

lotus.notes.NotesException: Could not load dll for system name SUNOS
       at lotus.notes.NotesThread.load(NotesThread.java:210)
       at lotus.notes.NotesThread.<clinit>(NotesThread.java:24)
java.lang.UnsatisfiedLinkError: NnotesInitThread
       at lotus.notes.NotesThread.NnotesInitThread(Native Method)
       at lotus.notes.NotesThread.initThread(NotesThread.java:99)
       at lotus.notes.NotesThread.run(NotesThread.java:133)

You can configure the IBM WebSphere Application Server or Domino Server plug-in manually using the Domino Server Web administration tool. The workarounds are as follows:

  1. Start the Domino Server.
  2. Enter the URL for the Domino Server Web Administration site using a browser. For example, http://<hostname>/names.nsf. Enter the administrator user name and password.
  3. Double-click Server-Servers.
  4. Double-click WebServer to configure.
  5. Double-click Edit Server.
  6. Double-click Internet Protocol.
  7. Add the IBM WebSphere Application Server DSAPI plug-in to the DSAPI field. For example, /opt/WebSphere/AppServer/bin/libdomino5_http.so

    Note: If there are already DSAPI filter files specified, use a space to delimit the WebSphere plug-in file.

  8. Double-click Save and Close.
  9. Restart the Domino Server.

Cluster state not always updated when using Windows Services


Windows 2000

Windows NT


When starting and stopping application servers that are part of a cluster using the Windows Services facility, the cluster state does not always get updated correctly. For example, when a cluster is running and you stop a cluster member through the Services GUI, the cluster state remains as "Started" even though the server is no longer running.

Enabling authentication in the file transfer service

In WebSphere Application Server Network Deployment, Version 5.0.1, the file transfer service is enhanced to provide role-based authentication. Two versions of the file transfer Web application are provided with this fix pack. By default, the version that does not authenticate its caller is installed. This default allows for compatibility between the WebSphere Application Server Network Deployment, Version 5 and Version 5.0.1.

After all the nodes in your cell are upgraded to WebSphere Application Server Network Deployment, Version 5.0.1, you can activate the authentication in the file transfer by redeploying the file transfer application at the deployment manager. The compatible version is shipped in the file ${INSTALL_ROOT}/installableApps/filetransfer.ear file. The secured version is provided in the ${INSTALL_ROOT}/installableApps/filetransferSecured.ear file.

A wsadmin Jacl script is provided to help you redeploy the file transfer. The script is redeployFileTransfer.jacl and can be found in the ${INSTALL_ROOT}/bin directory. After the deployment manager and all the nodes have been upgraded to WebSphere Application Server Network Deployment, Version 5.0.1, you can deploy the secured file transfer service by running the script. The syntax for running the script is:

wsadmin -profile redeployFileTransfer.jacl -c "fileTransferAuthenticationOn ear_file_path"

For example, when executing the script from the c:/WebSphere/DeploymentManager/bin directory, the syntax is similar to the following:

wsadmin -profile redeployFileTransfer.jacl -c "fileTransferAuthenticationOn c:/WebSphere/DeploymentManager/installableApps"

If you want to go back to run the file transfer service without authentication, you can run the script as follows:

wsadmin -profile redeployFileTransfer.jacl -c "fileTransferAuthenticationOff ear_file_path"
Back to System administration
Back to Known problems and workarounds

Administrative console

All platforms


UNIX

Administrative Console - Netscape browser

All platforms


AIX


Linux


Solaris

Application servers must have different disk offload locations

When you have two or more application servers with servlet caching enabled and the application servers specify the same disk offload location for their caches through the dynamic cache service, the following exceptions might occur:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readTemplate(CacheOnDisk.java:686)
       at com.ibm.ws.cache.Cache.internalInvalidateByTemplate(Cache.java:828)

or:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readCacheEntry(CacheOnDisk.java:600)
       at com.ibm.ws.cache.Cache.getCacheEntry(Cache.java:341)

If one server is run as root and the other servers are run as nonroot, this problem could occur. For example, if server1 runs as root and server2 runs as wasuser or wasgroup, the cache files in the disk offload location might be created with root permissions. This situation causes the applications running on the nonroot servers to crash when they try to read or write to the cache.

The disk offload location must be unique for servers defined on the same node. If you have multiple servers defined on the same node, make sure the disk offload location is different for each server as defined on the Dynamic Cache Service panel, Offload location field.

An Error 500 message displays when you click Name Space Bindings


UNIX

On UNIX platforms, when you click Name Space Bindings, you receive an Error 500 message on the browser. When you click Show Details, a NullPointerException displays. This only occurs with the administrative ID that was configured as the server ID.

To solve the problem, add a different user to System Management > Console Users and login with that user to add additional Name Space Bindings.

Adding a secured remote node through the administrative console

Adding a secured remote node through the administrative console is not supported. You can either disable security on the remote node before performing the operation or perform the operation from the command line using the addNode script.

Administrative console does not support browser Back and Forward mechanisms

The administrative console does not support using the browser Back and Forward mechanisms. Use of these mechanisms can cause intermittent problems. Use Back or Cancel on the administrative console panels instead.

Enabling the cookies in the browser

You must enable the cookies in the browser to have the administrative console work correctly.

Do not change the name of the JDBC provider after it is created

When using the administrative console, do not change the name of the JDBC provider if you create it by selecting an existing JDBC provider from the menu. If you use a custom JDBC provider, for which you supply the provider information, this restriction does not apply.

Error occurs when accessing the Cluster topology panel

If your first action after logging into the console is to click Servers > Cluster Topology and then click on a link to a cluster, the message ServletException in:/secure/layouts/detailTitleLayout.jsp] null displays at the top of the panel instead of the bread crumb links and the panel description.

To work around this problem, access any other panel in the administrative console first and then access the Cluster topology panel.

Resolve the administrative console port conflict

If the administrative console port is in conflict with an application already running on the machine, you can change this port in the following files:

Change all occurrences of port 9090 (or whatever port was selected during installation time in an IBM WebSphere Application Server coexistence scenario) to the desired port for the administrative console.

Alternatively, shut down the other application using this port before starting the IBM WebSphere Application Server.

The addNode command does not remove the administrative console transport port

If you configured the IBM WebSphere Application Server administrative console transport port to a setting other than the 9090 default, federating the node using the addNode command does not remove this nondefault transport from the server1 configuration. If you use the same transport number for the IBM WebSphere Application Server Network Deployment administrative console, you cannot start the application server because of a port conflict. You can remove this unused transport port using the IBM WebSphere Application Server Network Deployment administrative console before starting server1.

The test connection reports errors if an environment variable in the definition of a data source is used

If you use an environment variable in the definition of a data source, for example, classpath=${DB2_JDBC_DRIVER_PATH}/db2java.zip, the test connection reports an error message similar to the following:

DSRA8040I: Failed to connect to the DataSource.  
Encountered : java.lang.ClassNotFoundException: DSRA8000E: No jar or zip 
files found in /db2java.zip

To test a connection, define the WebSphere environment variable DB2_JDBC_DRIVER_PATH at the manager level regardless of the level at which the data source is defined. The normal scoping rules for the variables are not in effect for the test connection.

Resizing the Netscape browser results in an error

If you resize your Netscape browser, you could get a "Data Missing" error.

The error message disappears in 60 seconds.

Enabling Netscape Version 4.7 to display double-byte character set correctly


AIX

Linux


When using Netscape on AIX platforms without the translated package, the English version of Netscape is available for all locale environments as the default package. However, the English version of Netscape does not display double-byte character set (DBCS) characters on the browser radio buttons and title bars because the fonts are mismatched.

To work around this problem, you can install the message resource to make the translated version of Netscape available on a DBCS environment. Use the translated version of Netscape to display the corrupted DBCS correctly. Change the locale from English to the expected DBCS locale before starting Netscape. For example, issue the following commands to display the Japanese contents on Ja_JP (AIX Shift JIS locale):

$ export LANG=Ja_JP 
$ netscape&

How to check the installed package

For the AIX platform:

  1. Execute the lslpp -aL | grep Netscape.msg command.
  2. Check the language and locale information using Netscape.msg package. For example, the result of the command executed in step 1 is as follows for the system having Japanese-translated Netscape:
    # lslpp -aL | grep Netscape.msg
    Netscape.msg.Ja_JP.communicator.rte
    Netscape.msg.ja_JP.communicator.rte 

For the Red Hat Linux Version 7.2 platform:

Execute the rpm-ql netscape-common command to get the list of installed files.

In case of Netscape Version 4.78 on Red Hat Linux Version 7.2, the translated packages for seven languages including four DBCS languages (Japanese, Korean, Simplified Chinese, and Traditional Chinese) are included in a common package.

How to install the package

For the AIX platform:

Install the Netscape.msg.%L.communicator.rate package where %L is the locale information for the System Management Interface Tool (SMIT) or SMITTY to use. This message resource is provided by the Bonus Pack CD or the Expansion Pack CD for AIX platform, which provides the Netscape common package.

Perform the following steps to install the package:

  1. Set the media which has the Netscape installation image. For AIX 5L platform, set the Expansion Pack media.
  2. Go to the directory which has the Netscape installation package. For AIX 5L platform Expansion Pack, go to the installp/ppc directory.
  3. Start SMIT or SMITTY.
  4. Click System Environments > Manage Language Environment > Change/Show Applications for a Language > Add Language for Application Already Installed.
  5. In the Add Language for Application Already Installed field select a language (locale) from the drop-down menu list for the Language translation to install field.
  6. Click OK.
  7. In the Add Language for Application Already Installed field enter the directory location. Enter "." for the current directory or /cdrom/installp/ppc for the full path as input directory for the software. Do not select cdrom as the input device because the installation package does not exist on the root directory of the CD-ROM.
  8. Click OK.
  9. Click List to check if the configuration is correct. The configuration is correct if Netscape is on the list of installed application. Execute the installation now.
  10. Click OK.
  11. Exit SMIT or SMITTY.

For Red Hat Linux Version 7.2 platform:

The default Netscape installation can install each translated resource as part of the common package. There is no way to install the translated package individually. However, TrueType fonts (TTF packages) require installation for each language to correctly display the translated resources on Netscape. Use the following to check if the required font files are correctly installed:

$ rpm -qa | grep ttf
resources.0-4
ttfm-0.9.1-8
ttfonts-ja-1.0-6
ttfonts-ko-1.0-10
ttfonts-zh_CN-2.11-5
ttfonts-zh_TW-2.11-5

Resizing the Netscape browser causes an error 404 message

When connecting to the IBM WebSphere Application Server administrative console from a Netscape browser, resizing the browser can cause an error 404 message to occur. This situation occurs because the browser reloads the frame when resizing the window.

To avoid getting the error message, you can refrain from resizing the Netscape browser window, or you can connect to the IBM WebSphere Application Server administrative console using an Internet Explorer browser.

Using Netscape Version 4.79 on a Solaris Operating Environment causes problems


Solaris

Using Netscape Version 4.79 on a Solaris Operating Environment to access the administrative console causes problems with some key text translations with the zh_TW.EUC locale. This situation is not a problem when you use Netscape Version 4.7. The officially supported version of Netscape on a Solaris Operating Environment is Version 4.79, but in this case the workaround is to use Netscape Version 4.7.

Limitations occur when using Netscape with Solaris Operating Environment


Solaris

If you click Troubleshooting > Logs and Trace > <server> > Diagnostic Trace > Modify, the window that pops up allowing you to select the Components and Groups to trace might not display a scroll bar, preventing you from viewing all the components and groups.

The text area displaying the selected components, groups, and trace levels does not have a vertical scroll bar. This omission is a limitation of Netscape on a Solaris Operating Environment.

To work around this problem, refresh the window to show the scroll bar.

Netscape screen blanks out while using the administrative console

While working with the right-hand panel of the administrative console to do regular administrative tasks, the browser screen blanks out intermittently.

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

Resizing Netscape Version 4.7 causes errors

You receive the following error messages when resizing Netscape Version 4.7:

Error 0
  An error occurred while processing request: http://localhost:9090/admin/upload.do

  message:

  Details
  com.ibm.webshpere.servlet.error.ServletErrorReport:
         at java.lang.Class.newInstance0(Native Method)
         ... 

After resizing Netscape 4.7, Netscape has to reload the page just as it initially loads the page on the first request. For pages that do not expect POST data, it is not a problem. But for pages that do, Netscape 4.7 cannot retain the data.

Solutions for using a heterogeneous cell with iSeries nodes when running WebSphere Application Server Network Deployment

The following information describes the problems and solutions for using a heterogeneous cell with iSeries nodes when running WebSphere Application Server Network Deployment:

When running WebSphere Application Server Network Deployment on a non-iSeries system, for example, Windows NT, AIX and Solaris Operating Environment, application servers or cluster members created for a managed iSeries node do not start if you select to base the application server or cluster member on a template. Application servers or cluster members also do not start when you base the application server or cluster member on an existing server, that is not part of an iSeries node.

Note: If you base the new application server or cluster member on an application server that already exists in the iSeries node, or on an application server which is part of another iSeries node, the server starts and functions correctly.

To work around this problem, after creating the application server or cluster member, and before attempting to start the server, perform the following steps from the WebSphere Application Server Network Deployment administrative console:

  1. Click Servers > Application Servers.
  2. Click the link for the server you just created.
  3. Click Process Definition.
  4. Change the value for the Executable Name field to /QSYS.LIB/QEJBAS5.LIB/QEJBSVR.PGM.
  5. Click Apply.
  6. Click Java Virtual Machine under the Additional Properties section.
  7. Change the value for the Initial Heap Size field to 96.
  8. Change the value for the Maximum Heap Size to 0.
  9. Click Apply.
  10. Click Application Servers > your server > Process Definition.
  11. Click Web Container.
  12. Click HTTP Transports under the Additional Properties section.
  13. Select the check box for the port that shows True in the SSL Enabled column, and click Delete.

    Note: You only need to do step 13 if you do not have the Digital Certificate Manager product (5722SS1 option 34) and a cryptographic provider product (5722AC2 or 5722AC3) installed on your iSeries server.

  14. Click Save link in the Messages box at the top of the workspace frame.
  15. Select Synchronize with Nodes.
  16. Click Save.

Note: If you base the new application server or cluster member on an application server that already exists in the non-iSeries node, or on an application server that is part of another non-iSeries node, the server starts and functions correctly.

To work around this problem, after creating the application server or cluster member, and before attempting to start the server, complete the following steps from the WebSphere Application Server Network Deployment administrative console:

  1. Click Servers > Application Servers.
  2. Click the link for the server you just created.
  3. Click Process Definition.
  4. Change the value for the Executable Name field to ${JAVA_HOME}/bin/java.
  5. Click Apply.
  6. Click Java Virtual Machine under the Additional Properties section.
  7. Change the value for the Initial Heap Size field to 0.
  8. Change the value for the Maximum Heap Size to 256.
  9. Click Apply.
  10. Click Application Servers > your server > Process Definition.
  11. Click Process Execution under the Additional Properties section.
  12. Change the Process Priority value to 20.
  13. Remove the value (QEJBSVR) specified for the Run As User field.
  14. Click Apply.
  15. Click Application Servers > your server > Process Definition.
  16. Click Web Container.
  17. Click HTTP Transports under the Additional Properties section
  18. Create a new HTTP transport that is Secure Sockets Layer (SSL) enabled.

    Note: You only need to do step 18 if you wish to use SSL with your Web server, or you are using Single Sign On (SSO) support.

  19. Click Save link in the Messages box at the top of the workspace frame.
  20. Select Synchronize with Nodes.
  21. Click Save.
Back to Administrative console
Back to Known problems and workarounds

Applications

All platforms


Windows 2000


Windows NT

Error in path of was.policy file in message text

When a J2EE 1.2 application does not have a was.policy file and is installed using wsadmin or the Web GUI, the following message displays:

ADMA0080W=ADMA0080W: A template policy file without any permission set is included
 in the 1.2.x enterprise application. You can modify the Java 2 Security policy
for the enterprise application by editing the was.policy file located in the $
{user.install.root}/config/cells/(yourCellName)/applications/(yourAppName)/META-
INF directory after the application is installed. For syntax of was.policy, please
refer to the Dynamic Policy section of documentation in documentation.

The message text should read:

ADMA0080W=ADMA0080W: A template policy file without any permission set is included
 in the 1.2.x enterprise application. You can modify the Java 2 Security policy
for the enterprise application by editing the was.policy file located in the $
{user.install.root}/config/cells/(yourCellName)/applications/(yourAppName).ear/deployments/
(yourAppName)/META-INF directory after the application is installed. For syntax of was.policy, please
refer to the Dynamic Policy section of documentation in InfoCenter.

Note the correction in the path of the was.policy file.

In application installation, the call to EJB deploy throws an exception


Windows 2000

Windows NT


When you specify that EJB deploy be run during application installation and if installation fails with the error command line too long, the problem is that the deployment command generated during installation exceeds the character limit for a command line on the Windows platform. This problem occurs only on Windows platforms.

To work around this problem, you can reduce the length of the EAR file name, reduce the length of the JAR file name within the EAR file, reduce the class path or other options specified for deployment, or change the %TEMP% location of the Windows system to make its path shorter.

Back to Applications
Back to Known problems and workarounds

Application Assembly Tool

All platforms


Unix

Help files are viewable only from a locally installed browser

If you access any of the IBM WebSphere Application Server tools from a remote machine, for example, the Application Assembly Tool, the remote browser cannot display the help files. You can only view the help files from a locally installed browser.

To work around this problem, close all the Netscape sessions on the remote machine and click Help. A new Netscape session starts and you can then view the Help files.

Information you should know about Application Assembly Tool security roles

When you use the Application Assembly Tool (AAT) at an application level (EAR file), security roles are synchronized with the security roles defined for the embedded modules of the application.

If a security role is manually added to the EAR file, you can automatically remove it when the file is saved, if an embedded module does not reference the role or the role is in conflict with an existing role. In this case, remove the manually added role. All roles with the same name then are removed.

The role is automatically added again when the file is saved, if it is still referenced in an embedded module file. If a duplicate role is added in an embedded module file, delete all roles with the same name and the correct role manually read again.

Application Assembly Tool displays unsupported type for application client resource reference

When configuring a resource reference for an application client module in the Application Assembly Tool, the Type field menu lists javax.resource.cci.ConnectionFactory as an available resource reference. This type is not supported by the J2EE application client run time. The supported types are:

Running the Application Assembly Tool on UNIX platforms causes errors


Unix

A sample of the errors that display follows:

...Font specified in font.properties not found [-urw-itc 
zapfdingbats-medium-r-normal--*-%d-*-*-p-*-sun-fontspecific]
Font specified in font.properties not found [-urw-itc 
zapfdingbats-medium-r-normal--*-%d-*-*-p-*-sun-fontspecific]
...

The Application Assembly Tool or installer functions are not affected by these errors. These messages display in the command shell that spawned the Java GUI. You can disregard these messages.

Apply interim fix PQ73432 to enable the configuration of one-way relationships into read ahead hints

Read ahead hints are defined in the WebSphere Application Server Enterprise Assembly Tool by defining a path of container-managed relationships. The Version 5 and Version 5.0.1 of this tool incorrectly disallow the configuration of one-way relationships for read ahead hints. If an application has defined one-way relationships, these relationships will not be exposed in the list of available relationships to configure into a read ahead hint.

This limitation is corrected in WebSphere Application Server, Version 5.0. 2.

Apply interim fix PQ73432 to enable the configuration of one-way relationships into read ahead hints in WebSphere Application Server, Version 5 and Version 5.0.1.

Back to Application Assembly Tool
Back to Known problems and workarounds

Databases-DB2

All Platforms


Linux

Illegal conversion occurs on any VARCHAR FOR BIT DATA column in a container-managed persistent bean

When enterprise beans with container-managed persistent (CMP) types that have any VARCHAR FOR BIT DATA columns defined on a DB2 table are deployed in the DB2 universal JDBC type 4 driver to persist the data, an SQLException of illegal conversion is thrown at run time.

This exception only occurs when you use the DB2 universal JDBC type 4 driver and with the deferPrepares property being set to true. When the deferPrepares property is set to true, the DB2 universal JDBC type 4 driver uses the standard JDBC data mapping.

Currently, the generated deployed code does not follow the standard JDBC specification mapping. The failure at execution time is because of a problem in the tool that prepared the enterprise beans for execution.

To avoid receiving this exception, choose one of the following options:

Refer to DB2 V8.1 readme for more details.

Incorrect user ID or password can result in an error message

At the DB2 FP7 level, when configuring a 4.0 data source for EJB 1.1 and 1.1 container-managed persistence (CMP) beans, and the user ID or password is incorrect, you can get the following error message in the SystemOut.log file while starting the application:

[7/22/02 17:37:13:547 CDT] 2827798b ConnectionPoo E CONM6009E: Failed to get connection to database from datasource (DB2PolicyDataSource).
[7/22/02 17:37:13:609 CDT] 2827798b JDBCPersister W CNTR0031W: Error starting CMP bean Life Insurance MD#lipolicy11.jar#IDTable:com.ibm.ejs.persistence.EJSPersistenceException: ; nested exception is:
COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1403N The username and/or password supplied is incorrect. SQLSTATE=08004
COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1403N The username and/or password supplied is incorrect. SQLSTATE=08004

To work around this problem, verify the user ID or password and restart the application.

Mismatched user IDs causes a table not found or object undefined exception from DB2

You can experience a table not found or object undefined exception from DB2, when the user ID that is used for the connection does not match the user ID used to create a table.

If you use getConnection (user ID, password) to get a connection and the user ID (for example, user ID2) is different from the one (for example, user ID1) that is defined in the data source, then user ID2 replaces user ID1 as the default in the data source. When your application tries to get another connection without using the user ID and password, the database uses user ID2 by default to get the connection. If you try to access an object created by user ID1, the exception occurs.

To avoid receiving the exception, do not use the user ID and password to get a connection. If your application needs to connect this way, every getConnection() method should always use the user ID and password to get a connection.

This problem is fixed in DB2 V8.1 FP2

Using the administrative console to create a DB2 JDBC provider for a zSeries server causes an exception to occur

When you use the administrative console to create a DB2 390 JDBC provider or a DB2 390 JDBC provider (XA), an exception occurs with the message Name is not a valid entry.

To work around this problem, choose the normal DB2 JDBC provider to create a JDBC provider since they both use the same implementation class. When you create a data source under this provider, change the data store helper value from DB2DataStoreHelper to DB2390DataStoreHelper. Otherwise, your database access does not work.

DB2 Universal JDBC type 4 driver is supported

DB2 Universal JDBC type 4 driver is supported in WebSphere Application Server, Version 5.0.1. The minimum fix pack level is DB2 V8.1 FP1. This driver does not support XA transaction. It is only supported in WebSphere Application Server, Version 5.0.1 data source.

There is a known problem on mapping StaleConnectionException. When you see the following exception stack, it is mapped to StaleConnectionException:

Error Code = 0
SQL State = null
com.ibm.db2.jcc.b.DisconnectException: A communication error has been detected. Communication protocol being used: {0}. Communication API being used: {1}. Location where the error was detected: {2}. Communication function detecting the error: {3}. Protocol specific error codes(s) {4}, {5}, {6}. TCP/IP SOCKETS Agent.sendRequest() OutputStream.flush() Connection reset by peer: socket write error * 0
at com.ibm.db2.jcc.c.a.a(a.java:329)
at com.ibm.db2.jcc.c.a.u(a.java:302)

The problem has been fixed in DB2 V8.1 FP2.

Accessing two different rows in a table might cause deadlock

Deadlock results from accessing two different rows in a DB2 table when the next key is not locked for all INSERT and DELETE statements.

To eliminate the deadlock, set the DB2_RR_TO_RS environment variable from the DB2 command line window. Setting this environment variable causes the following:

The skipping behavior affects the RR, RS, and Cursor Stability (CS) isolation levels.

Possible scenario

Transaction A deletes the row with column1=10 and transaction B does a scan on column1>8 and column1<12. With DB2_RR_TO_RS=OFF, transaction B waits for transaction A to commit or roll back. If transaction A rolls back, the row with column1=10 is included in the result set of the transaction B query. With DB2_RR_TO_RS=ON transaction B does not wait for transaction A to commit or roll back. It immediately receives query results that do not include the deleted row.

As a workaround, set the DB2_RR_TO_RS enviroment variable to ON by typing DB2_RR_TO_RS=ON on the command line.

Information about the StaleConnectionException on Linux systems


Linux

The StaleConnectionException SQl1224 is related to the extension shared memory attachment. Linux systems have a semaphore problem causing the DB2 SQL1224 error.

To work around the problem, set the loopback for your database. For example, if your database is WAS, host name is LHOST, database service port number is 50000, issue the following commands from the DB2 command-line window:

db2 catalog TCPIP node RHOST remote LHOST server 50000
db2 catalog db WAS as WASAlias
db2 uncatalog db WAS
db2 catalog db WASAlias as WAS at node RHOST

Verify this information by issuing the following commands from the DB2 command-line window:

db2 connect to WAS user xxx
passwd: xxx

where xxx is the user name or password

Setting connection autoCommit to false does not work correctly in a global transaction or a local transaction when you use the DB2 Universal JDBC provider driver

Setting connection autoCommit to false does not work correctly in a global transaction or a local transaction when you use the DB2 Universal JDBC provider driver.

In a global transaction:

When you call a connection.setAutoCommit(false) in a global transaction, an incorrect exception DSRA9350E: Operation setAutoCommit is not allowed during a global transaction is thrown.

In a local transaction:

When you call cconnection.setAutoCommit(false), you can do work to the connection and call connection.setAutoCommit(false) again on the same connection. The second connection.setAutoCommit(false) commits the previous work. This behavior is the same as the behavior of the native DB2 universal JDBC driver but is not consistent with the behaviors when you use other JDBC drivers in WebSphere Application Server. The correct WebSphere Application Server behavior is that the second connection.setAutoCommit(false) does not commit the previous work.

Apply interim fix PQ73523 to solve this problem.

Back to Databases-DB2
Back to Known problems and workarounds

Databases- IBM Cloudscape

All platforms

Application table lock can occur in IBM Cloudscape when using RepeatableRead

When your application uses a new Version 5 data source on the IBM Cloudscape database, your application can acquire a table lock when the application tries to use a RepeatableRead isolation level to select a row in a table for update.

In IBM Cloudscape Version 5.0, the "Select..ForUpdate" statement with a RepeatableRead isolation level locks the entire table. Another transaction is blocked when it tries to access the same table. The transaction remains blocked until either the transaction holding the table lock releases the lock by committing or aborting the transaction, or when the lock wait times out. If the lock wait results in a deadlock condition, one transaction aborts and the other transaction continues.

To work around this problem, take the following action:

The locale JAR files for IBM Cloudscape are available

IBM WebSphere Application Server now ships the locale JAR files for IBM Cloudscape. The files are located in the <install_root>lib/cloudscape directory. To use a specific language, add the respective locale JAR file to the class path in both the system class path and the administrative console. The class path of the system is needed for the IBM Cloudscape GUI, for example, cview. The administrative console is needed for the error messages thrown when running IBM WebSphere Application Server.

Running IBM WebSphere Application Server with IBM Cloudscape causes errors

When running IBM WebSphere Application Server with IBM Cloudscape, you can see the following exception:

SQLException Info: ErrorCode=20000, State=XJ055, 
Message: This connection is not attached to any transaction, make sure it has not been ended by the XAResource.

To fix this problem, verify the statement cache size is 0 on the data source. The default value is 0.

IBM Cloudscape is not licensed for use in a production environment

IBM WebSphere Application Server provides a copy of the IBM Cloudscape database for development use. IBM Cloudscape is a small footprint database written entirely in the Java language for platform independence. Developers can use IBM Cloudscape to test Web applications that need to access data.

IBM Cloudscape is not licensed for use in a production environment.

For information about IBM Cloudscape, visit the IBM Cloudscape Web site at: http://www.ibm.com/software/data/cloudscape/pubs/collateral.html

Non-English locale of cview does not display the information tab

When you use cview in a non-English locale, IBM Cloudscape has a problem displaying the contents of the information tab.

To work around this problem, view the system information by issuing the command line version. The command-line version, called sysinfo.bat or sysinfo.ksh, ships with IBM WebSphere Application Server. If you plan to use the command-line, set the respective locale JAR file in your class path.

Set JAR file names on class path to use cview

During IBM WebSphere Application Server installation, the setEmbeddedCP.bat file is not installed, therefore you cannot use cview.bat or cview.ksh to set the JAR files to the class path. In order to use cview.bat or cview.ksh, you need to set the following JAR files on the class path:

<install_root>/lib/db2j.jar
    <install_root>/lib/db2jcview.jar
    <install_root>/lib/db2jtools.jar

See the setEmbeddedCP.bat file for an example of how to set these files.

When IBM Cloudscape rolls back a transaction, the IBM WebSphere Application Server might display an XANOTA exception

When IBM Cloudscape rolls back a transaction, it might throw an XANOTA exception, which the IBM WebSphere Application Server displays.

You can ignore this exception.

Back to Databases- IBM Cloudscape
Back to Known problems and workarounds

Databases-Informix

All platforms

An XA exception is thrown during an XA recovery

This section describes the restriction and solution for a multi-bit flag sent to an XA recovery.

An XA exception is thrown during an XA recovery due to Informix defect 161882. This exception can be caused by one of the following conditions:

An example of the exception is as follows:

33433c9f XARminst      F WTRN0017W: The transaction service encountered an error on an xa_recover operation. The resource was CMXAResourceInfo: DataSource Properties [com.informix.jdbcx.IfxXADataSource]: {user=informix;password=XXXXXXXX;description=DataSource for LifeInsApp;portNumber=1527;databaseName=ann;ifxIFXHOST=ifxHost;serverName=ol_ifxHost;}. 

The error code was XAER_INVAL.

The exception stack trace follows:

javax.transaction.xa.XAException
       at com.informix.jdbcx.IfxXAResource.recover(IfxXAResource.java:310)
       at com.ibm.ejs.jts.jta.XARminst.recover(XARminst.java:126)

To avoid this error, delete the WebSphere Application Server transaction log in the /<WAS_HOME>/tranlog directory before bringing the WebSphere Application Server on-line.

Informix JDBC driver incorrectly handles escaped newline character

Informix JDBC driver incorrectly handles inserting quoted ANSI control characters into column types CHAR and LVARCHAR. The control characters stored into the column might not be correctly retrieved.

Informix JDBC driver incorrectly handles ANSI control characters in a SELECT statement

Informix JDBC driver incorrectly handles ANSI control characters in a SELECT statement. A statement like "SELECT * FROM TABLE1 WHERE TESTCOL = '\n'''" produces the following SQLException:

SQL State:  IX000
Error Code: -282
java.sql.SQLException: Found a quote for which there is no matching quote.

The Informix JDBC provider produces errors when writing character data to a Character Large Object file

When attempting to write character data to a Character Large Object (CLOB) field using the setCharacterStream method on the Informix JDBC provider, the following exception occurs:

java.sql.SQLException: Can't convert fromnull
       at com.informix.util.IfxErrMsg.getSQLMinorException(IfxErrMsg.java:511)
       at com.informix.jdbc.IfxObject.fromCharacterStream(IfxObject.java:856)
       at com.informix.jdbc.IfxValue.makeInstance(IfxValue.java:1091)
       at com.informix.jdbc.IfxPreparedStatement.setCharacterStream(IfxPreparedStatement.java:3202)
       at JDBCDriverTest.main(JDBCDriverTest.java:69)

This problem has been reported to Informix.

Exception thrown when running an XA transaction

When running an XA transaction involving two connections to the same database, the following pattern results in an exception:

get XA connection 1
get XA connection 2
start XA resource for connection 1
start XA resource for connection 2
Connection 1: insert a new record into a table T1
Connection 2: update an existing record in the same table  --> exception is thrown here

You get the following exception:

java.sql.SQLException: ISAM error: record is locked.
java.sql.SQLException: Could not do a physical-order read to fetch next row.
        at com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3021)
        at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3335)
        at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2288)
        at com.informix.jdbcx.IfxXASqli.receiveMessage(IfxXASqli.java:119)
        at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:720)
        at com.informix.jdbc.IfxResultSet.executeUpdate(IfxResultSet.java:317)
        at com.informix.jdbc.IfxStatement.executeUpdateImpl(IfxStatement.java:838)
        at com.informix.jdbc.IfxPreparedStatement.executeUpdate(IfxPreparedStatement.java:269)
        at InfXATest.run2(InfXATest.java:289)
        at InfXATest.main(InfXATest.java:11)

Currently, there is no work around for this problem. The problem has been reported to Informix.

OUT parameters not supported in Informix Dynamic Server 9.3

The Informix Dynamic Server 9.3 does not support multiple OUT parameters in functions or procedures as required by the JDBC 2.0.

PTS#154442 has been opened with Informix to resolve this problem.

LOCATE function not supported in Informix Dynamic Server 9.3

The Informix Dynamic Server 9.3 does not support the locate function as required by the JDBC 2.0.

Two-phase commit transactions cause Informix Dynamic Server 9.3 to crash

Two-phase commit transactions sometimes cause Informix Dynamic Server 9.3 to crash. This problem is addressed in Informix bugs 158717 and 158860.

Prepared statement cache does not work with two-phase commit and Informix Dynamic Server (IDS) 9.3 data sources

Prepared statement caching does not work with two phase commit and Informix Dynamic Server 9.3 data sources. This will be addressed in a future release of IDS.

INOUT parameters not supported in Informix

Informix Dynamic Server does not support INOUT parameters in functions or procedures as required by the JDBC 2.0.

PTS#159522 has been opened with Informix to resolve this problem.

Binary Large Object not supported in Informix

Informix Dynamic Server does not support Binary Large Objects (BLOBS) in the DISTINCT clause of a SELECT statement as required by the JDBC 2.0.

PTS#159333 has been opened with Informix to resolve this issue.

Back to Databases-Informix
Back to Known problems and workarounds

Databases-Microsoft SQL Server

SequeLink

All platforms

Microsoft JDBC Driver for SQL Server 2000

All platforms

Use the proper DataStoreHelper class to configure data sources for the Connect JDBC driver

If you use the WebSphere Embedded Connect JDBC driver for Microsoft SQL Server, you must use the proper DataStoreHelper class. If you use an incorrect DataStoreHelper class, either of the following exceptions might occur:

java.sql.SQLException: [IBM][SQLServer JDBC Driver]This driver is locked for use with embedded applications.
        at com.ibm.websphere.jdbc.base.BaseExceptions.createException(Unknown Source)
        at com.ibm.websphere.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.ibm.websphere.jdbc.base.BaseConnection.validatedUnlocked(Unknown Source)

java.sql.SQLException: [IBM][SQLServer JDBC Driver]?}???h???C?o???A?????????A?v???P?[?V?????????g?p?????b?N???????E?B
       at com.ibm.websphere.jdbc.base.BaseExceptions.createException(Unknown Source)
       at com.ibm.websphere.jdbc.base.BaseExceptions.getException(Unknown Source)
       at com.ibm.websphere.jdbc.base.BaseConnection.validatedUnlocked(Unknown Source)

The correct DataStoreHelper class for the WebSphere Embedded Connect JDBC driver for Microsoft SQL Server and WebSphere Embedded Connect JDBC driver for Microsoft SQL Server (XA) providers is com.ibm.websphere.rsadapter.WSConnectJDBCDataStoreHelper.

MDAC 2.6 SP1 is a prerequisite for SequeLink Server 5.3

MDAC 2.6 SP1 is a prerequisite for SequeLink Server 5.3. You can download this prerequisite from the Microsoft Web site at http://www.microsoft.com .

Microsoft SQL Server 7 error occurs when using UPDLOCK hint

When running SequeLink 5.3 against SQLServer 7 and setting ResultSet concurrency = CONCUR_UPDATABLE, ResultSet type = TYPE_SCROLL_SENSITIVE, the following error occurs when executing a statement containing the UPDLOCK locking hint:

SQL State:  42000
Error Code: 16940
java.sql.SQLException: [IBM][SequeLink JDBC Driver][SQL Server]Cannot specify UPDLOCK or TABLOCKX with READ ONLY or INSENSITIVE cursors.

This error is caused by a bug in Microsoft SQL Server 7. The SequeLink 5.3 driver provides the following workaround for this problem:

  1. Open the Microsoft Management Console for SequeLink 5.3 ( %SL53%\admin\sladmin53.msc ).
  2. Expand SLAgent53 > SequeLink Services > SLSQLServer53 > Configuration > Data Source Settings > Default.
  3. Right-click Default and then click New > Attribute.
  4. Click DataSourceMSSCursortype and fill in a value of Clientside.
  5. Click OK to add the attribute and then select the yellow check mark box at the top of the console to save the changes.
  6. The property appears in the Advanced folder under the Default data source, if you want to change or delete it later.

Instructions for installing the SequeLink 5.3 server

The WebSphere Application Server, Version 5 InfoCenter does not include documentation for installing the SequeLink 5.3 server that ships with WebSphere Application Server. Visit the following Web page of DataDirect Technologies driver for instructions on installing the SequeLink 5.3 server:

ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htm

The DataDirect Technologies SequeLink 5.3 JDBC driver can ignore local transactions

The DataDirect Technologies SequeLink 5.3 JDBC driver contains a bug which can ignore local transaction rollbacks after a connection is used in a global transaction. DataDirect Technologies has provided a patch for this problem, which you can download from:

ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htm

Do not use DBUser and DBPassword

Do not use DBUser and DBPassword or HUser and HPassword data source properties for SequeLink 5.3. User names and passwords specified this way are exposed in WebSphere traces and XML files. Instead, specify this information by creating an alias for the data source.

Additionally, even if you are not concerned about exposed passwords and DBUser and DBPassword are specified, SequeLink does not honor the values used, so this method of specifying user names and passwords is unreliable.

The DataDirect Technologies SequeLink JDBC driver hangs when running in two-phase commit mode

The DataDirect Technologies SequeLink JDBC driver can hang when it runs in two-phase commit mode against Microsoft SQL Server 7. Case 15005170 is open with DataDirect Technologies for this problem.

To work around this problem, take one of the following actions:

  1. Using the DataDirect Technologies Connect JDBC driver connect to the Microsoft SQL Server 7 instead of the SequeLink.
  2. Upgrade to Microsoft SQL Server 2000 and continue using the SequeLink JDBC driver to connect.
  3. Use a SequeLink data source enabled for one-phase commit mode and recode your application to use only one-phase commit mode.
  4. When a patch becomes available from DataDirect Technologies, download a corresponding patch for the WebSphere Application Server embedded SequeLink driver from the DataDirect Technologies driver update download page. The URL for this page is: ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htm

The Microsoft JDBC driver for Microsoft SQL Server 2000 fails

The Microsoft JDBC driver for Microsoft SQL Server 2000 fails with a java.lang.NoClassDefFoundError when DataSource.setLogWriter is used, spyAttributes are specified, or IBM WebSphere Application Server tracing is enabled.

The problem occurs because Microsoft does not include the spy.jar file in its JDBC driver for Microsoft SQL Server 2000 despite the fact that the driver requires classes found in the file spy.jar to function properly. Consequently, the Microsoft driver fails with the NoClassDefFoundError when IBM WebSphere Application Server tracing is enabled. Workaround options follow:

The Microsoft driver for Microsoft SQL Server 2000 ignores setAutoCommit(true) during a local transaction

The Microsoft driver for Microsoft SQL Server 2000 does not honor setAutoCommit(true) during a local transaction. The driver continues to operate as though autoCommit is false while reporting a value of autoCommit = true. This behavior can cause unexpected activity since it is inconsistent with the JDBC specification. According to the JDBC specification, setting autoCommit to true during a local transaction implicitly commits any outstanding local transaction and changes the connection to autoCommit enabled (true) mode.

Perform one of the following steps to work around the problem:

Back to Databases-Microsoft SQL Server
Back to Known problems and workarounds

Databases-Oracle

All platforms


Solaris

Oracle JDBC driver memory leak

If you use Oracle 9i R2, you can encounter memory leaks when using the Oracle XA JDBC driver.

To fix this problem, visit the Oracle Metalink Web site and download Oracle Patchset 92020.

Oracle rollbacks fail with bean-managed persistence and unshareable mode

When running a Global transaction with an unshareable mode where two or more connections are created as part of the Global transaction, Oracle throws the exception "ora-02051: another session in same transaction failed" when doing a rollback or commit on the Global transaction.

Use Sharable mode when running a bean-managed persistence (BMP) or servlet to work around the problem as follows:

This situation is a recognized Oracle problem. The Oracle bug number is 2511780.

Error message displays when inserting or updating a LOB data type

When using the LOB columns (BLOBS and CLOBS) with Oracle 8i, you cannot use setCharacterStream or setBinaryStream to set BLOBS and CLOBS when the size of the LOB columns is greater than 4k.

You receive one of the following error messages when inserting or updating a LOB (BLOBS and CLOBS) that are greater than 4k, depending on the Oracle release:

"Data size bigger than Max size for this type: xxxx. SQL State = <null>, Error Code = 17,070"

"java.sql.SQLException: Io exception: End of TNS data channel  SQL State:  null  Error Code: 17002"

Oracle has lifted the restriction in the 9i R2 OCI driver (thick driver). If you have one of these error messages or you know that your data exceeds 4k, update to Oracle 9i R2 and use the OCI driver when connecting to Oracle server. If you cannot update to Oracle 9i R2, contact Oracle Support.

Setting the correct value for autoCommit in the connection of the OracleXADataSource

When your application tries to use the OracleXADataSource to run in an autoCommit enabled mode, set the autoCommit value to TRUE once a connection is obtained from the OracleXADatasource. The default autoCommit value for every connection from the XA data source is FALSE. This value is different from the OracleConnectionPoolDataSource, which has the default autoCommit value of TRUE.

If your application runs in a global transaction, set the autoCommit value to FALSE to start a global transaction.

Bug#2618770 has been accepted by Oracle for this problem.

Using OCI drivers requires 32-bit Oracle libraries

If you are using the OCI drivers, you must use 32-bit Oracle libraries.

Set the OCI driver on Oracle as follows:

  1. (Optional, might already exist) Update entries in the listener.ora file on the server side. You can find the DESCRIPTION_LIST and SID_LIST in the $ORACLE_HOME/network/admin directory. Modify the entries in the << >>.

    Add the following to the DESCRIPTION_LIST entry:

    (DESCRIPTION = 
            (ADDRESS = (PROTOCOL = TCP) (HOST = <<host_name>>) (PORT = 1521)) 
    )
    Add the following to the SID_LIST:
    (SID_DESC =
            (GLOBAL_DBNAME = <<database_name >>)
            (ORACLE_HOME = <<oracle_home>> )
            (SID_NAME = <<database_name>>)
    )

    Note: An example of <<database_name>> is "was". An example of <<oracle_home>> is E:\Oracle\Ora81.

  2. Update entries in the tnsnames.ora file located in $ORACLE_HOME/network/admin directory. You are modifying the entries in the << >>.

    Add the following to the tnsnames.ora file:

    tnsname = 
            (DESCRIPTION =
                    (ADDRESS_LIST =
                            (ADDRESS = (PROTOCOL = TCP) (HOST = <<server_name>>) (PORT = 1521) )
    )
                    (CONNECT_DATA =
                            (SERVICE_NAME = <<database_name >>)
                    )
    )

    Note: An example of <<database_name>> is "was".

  3. Add the location where Oracle is installed in the .profile export, for example ORACLE_HOME:<oracle_root_install>.
  4. Add the following to the Native Library Path in the administrative console:

    For AIX systems:

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib32

    For Solaris Operating Environment and other platforms:

    export PATH=$ORACLE_HOME/lib32

    For Hewlett Packard environment:

    export SHLIB_PATH=$ORACLE_HOME/lib32

  5. Add the following to the class path of the administrative console:
    export CLASSPATH=$ORACLE_HOME/jdbc/lib/classes12.zip: $ORACLE_HOME/jdbc/lib/nls_charset12.zip
  6. Set the URL inside the administrative console using the following format:
    jdbc:oracle:oci8:@<tnsname>

    where <tnsname> is what is defined in the tnsames.ora file

Oracle XA driver displays an error when using an autoCommit true value followed by a global transaction

When running the IBM WebSphere Application Server against an Oracle driver, problems occur when the Oracle XA driver uses autoCommit with a value of true, followed by a global transaction.

If you encounter this problem, set autoCommit to false before starting the global transaction on the same connection.

TAR 2603121.995 has been opened with Oracle to resolve this problem.

Using PreparedStatement.setObject fails for some types with ClassCastException

Using PreparedStatement.setObject fails for some types with ClassCastException when using Oracle.

The following incorrect uses of setObject fail with ClassCastException instead of successfully updating the table:

// Test use the following tables
create table Bit_Tab (MAX_VAL SMALLINT, MIN_VAL SMALLINT, NULL_VAL SMALLINT NULL);
create table Decimal_Tab (MAX_VAL DECIMAL(30,15),MIN_VAL DECIMAL(30,15), NULL_VAL DECIMAL(30,15) NULL);
create table Bigint_Tab (MAX_VAL NUMBER(19,0), MIN_VAL NUMBER(19,0), NULL_VAL NUMBER(19,0) NULL);
create table Timestamp_Tab (IN_TIME DATE, NULL_VAL DATE NULL);

// Tests use the following prepared statements
            pstmt1i = con.prepareStatement("insert into Bit_Tab VALUES(?, ?, ?)");
            pstmt2i = con.prepareStatement("insert into Decimal_Tab VALUES(?, ?, ?)");
            pstmt3i = con.prepareStatement("insert into Bigint_Tab VALUES(?, ?, ?)");
            pstmt4i = con.prepareStatement("insert into Timestamp_Tab VALUES(?, ?)");
            pstmt5i = con.prepareStatement("insert into Decimal_Tab VALUES(?, ?, ?)");

// failing code snippets
// Test 1  - Boolean
  pstmt1i.setBoolean(1,true);
  pstmt1i.setBoolean(2,true);
  java.math.BigDecimal decimalVal = new java.math.BigDecimal(1);
  Boolean minDecimalVal=new Boolean(decimalVal.toString());
  pstmt1i.setObject(3,minDecimalVal,java.sql.Types.DECIMAL,2);
  pstmt1i.executeUpdate();

// Test 2  - Float
  pstmt2i.setFloat(1,2.1F);
  pstmt2i.setFloat(2,2.2F);
  String stringVal = "1.1";
  Float floatVal = new Float(stringVal);
  pstmt2i.setObject(3,floatVal,java.sql.Types.DECIMAL,15);
  pstmt2i.executeUpdate();

// Test 3  - Long
  pstmt3i.setFloat(1,3.1F);
  pstmt3i.setFloat(2,3.2F);
  Long val = new Long(1);;
  String stringValLing = new String(val.toString());
  Long longVal = new Long(stringValLing);
  pstmt3i.setObject(3,longVal,java.sql.Types.CHAR);
  pstmt3i.executeUpdate();

// Test 4  - Timestamp
  pstmt4i.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
  pstmt4i.setTimestamp(2, new Timestamp(System.currentTimeMillis()));
  Timestamp getTSval = new Timestamp(System.currentTimeMillis());
  String stringValTs = getTSval.toString();
  Timestamp timeStampVal = Timestamp.valueOf(stringValTs);
  pstmt4i.setObject(2,timeStampVal,java.sql.Types.DATE);
  pstmt4i.executeUpdate();

// Test 5  - BigDecimal
  pstmt5i.setFloat(1, 5.1F);
  pstmt5i.setFloat(2, 5.2F);
  String stringValBd = "1.1";
  stringValBd = stringValBd.trim();
  java.math.BigDecimal bigDecimalVal = new BigDecimal(stringValBd);
  pstmt5i.setObject(3,bigDecimalVal,java.sql.Types.CHAR);
  pstmt5i.executeUpdate();

To avoid getting the exception, change the code to avoid using setObject.

This problem is being addressed by Oracle in the bug report 2640294.

Oracle fails to throw SQLExceptions

Oracle fails to throw an SQLException when the incorrect type of SQL statement is used on either the PreparedStatement.executeUpdate() or PreparedStatement.executeQuery() methods.

Only use SQL statements returning a count with the executeUpdate() method, and only use SQL statements returning a single result set with the executeQuery() method.

The database generates an SQLException if an SQL statement fails to meet the requirement it passes to either executeUpdate or executeQuery. When using Oracle, executeUpdate and executeQuery return successfully when passed by an SQL statement that fails to meet the requirement.

When running with Oracle, the following code snippet does not return SQLException:

  pstmt1 = con.prepareStatement("select * from Bit_Tab");
  pstmt2 = con.prepareStatement("insert into Bit_Tab VALUES(?, ?, ?)");

  //Test 1  - executeUpdate using select
  try
  {
    pstmt1.executeUpdate();
  }
  catch (SQLException e)
  {
    System.out.println("SQLException occurred");
  }

  // Test 2  - executeQuery using insert
  try
  {
    pstmt2.setBoolean(1,true);
    pstmt2.setBoolean(2,true);
    pstmt2.setBoolean(3,true);
    ResultSet rs = pstmt2.executeQuery();
  }
  catch (SQLException e)
  {
    System.out.println("SQLException occurred");
  }

TAR 2688461.999 has been opened with Oracle to resolve this problem.

CONM6021W messages appear when an Oracle 9.2.0.2 server and a 2511780 patch are used

If you use an Oracle 9.2.0.2 server, apply the 2511780 patch, and create the transactionBranchesLooselyCoupled custom property for a 4.0 data source, the CONM6021W messages appear every time a 4.0 data source connection is created.

The CONM6021W message is similar to the following example:

CONM6021W: An Oracle JDBC provider property (TransactionLooselyCoupled) has been set. Oracle patch 2511780 must be applied before setting this property.

You can see this message frequently in the server SystemOut.log file.

Oracle does not support the three-argument version of the locate function in the Solaris Operating Environment J2EE compliance test suite


Solaris

While running the IBM WebSphere Application Server in the Solaris Operating Environment J2EE Compliance test suite against Oracle, the three-argument version of the locate function is not supported by Oracle. The two-argument version is supported by Oracle. According to Oracle, the three-argument version of the locate function is not part of the J2EE specifications.

Oracle thin driver does not support null user ID and password and this causes an SQLException

When you run WebSphere Application Server with Oracle, if you do not set the J2C authentication alias or you do not use getConnection (user ID and, password ), a null is passed to Oracle for user ID and password. Since Oracle thin does not support null user ID and password, Oracle throws the following exception:

java.sql.SQLException: invalid arguments in call

To work around the problem, set the J2C authentication alias on the data source and restart the server.

Back to Databases-Oracle
Back to Known problems and workarounds

Databases-Sybase

All platforms

Executing the DatabaseMetaData.getBestRowIdentifier() method in an XA transaction causes errors

Executing the DatabaseMetaData.getBestRowIdentifier() method while in an XA transaction causes the following errors:

SQL Exception: The 'CREATE TABLE' command is not allowed within a 
multi-statement transaction in the 'tempdb' database.  Calling 
DatabaseMetaData.getBestRowIdentifier() 

Currently, this method fails when using Sybase. This problem occurs with other methods as well, including:

Case 10880427 has been opened with Sybase to resolve this problem.

Sybase requirements for using the escapes and DatabaseMetaData methods

To use the escapes and DatabaseMetaData methods, you must install stored procedures on the Adaptive Server Enterprise or Adaptive Server Anywhere database where you want to use these methods. These stored procedures are also required by some of the connection methods.

To check for the presence of LOCATE ():

  1. Open a Sybase isql command prompt.
  2. Type the command use master.
  3. Type the command go.
  4. Type the SQL command and select * from jdbc_function_escapes.
  5. Type the command go.

The following appears:

escape_name
         map_string
 ----------------------------------------
         ----------------------------------------
 abs
         abs(%1)
 acos
         acos(%1)
 asin
         asin(%1)
 atan
         atan(%1)
 atan2
         atn2(%1, %2)
 ceiling
         ceiling(%1)
:::::::::::::::::::
:::::::::::::::::::         

locate
        charindex ((convert (varchar, %1)), (convert (varchar, %2)))

If the function does not exist, upgrade jConnect to at least Version 5.2 EBF 10635 and run the following command:

java IsqlApp -U sa -P -S jdbc:sybase:Tds:<hostname>:4100 -I %JDBC_HOME%\sp\sql_server12.sql -c go

Database deadlocks and XA_PROTO errors occur when using Sybase

When using Sybase with the IBM WebSphere Application Server, do one of the following to prevent database deadlocks and errors:

Executing a stored procedure containing a SELECT INTO command causes exception

An attempt to execute a stored procedure containing a SELECT INTO command results in the following exception:

SVR-ERROR: SQL Exception SELECT INTO command not allowed within multi-statement transaction

Case 10868947 has been opened with Sybase to resolve this problem.

Error is incorrectly reported about IMAGE to VARBINARY conversion

The following error is incorrectly reported:

com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion from data type 'IMAGE' to 'VARBINARY' is not allowed.
 Use the CONVERT function to run this query.

The error is about a VARBINARY column only and causes confusion if you also have an IMAGE column.

Do one of the following to work around this problem:

For example:

// ***************CORRECTION*****************************
         // setBinaryStream fails for column type of VARBINARY , use setBytes() instead
         //stmt4.setBinaryStream(8,new java.io.ByteArrayInputStream(tempbyteArray),tempbyteArray.length);
         stmt4.setBytes(8,tempbyteArray);

Java Database Connectivity 1.0 standard methods are not implemented and generate a SQL exception when used

The following Java Database Connectivity (JDBC) 1.0 standard methods are not implemented and generate a SQL exception when used:

Sybase transaction manager fails after trying to alleviate a deadlock error

If an application encounters a deadlock, Sybase detects the deadlock and throws an exception. Because of this detection, the transaction manager calls an xa_end with a TMFAIL in it.

The call succeeds, but causes another Sybase exception, XAERR_PROTO. This exception only appears in the error log and does not cause any functional problems. All applications should continue to run, therefore no workaround is necessary.

Case 10869169 has been opened with Sybase to resolve this problem.

Starting an XA transaction when the autoCommit value of the connection is false causes error

The exception thrown is javax.transaction.xa.XAException with stack trace similar to the following:

       at com.sybase.jdbc2.jdbc.SybXAResource.sendRPC(SybXAResource.java:711)
        at com.sybase.jdbc2.jdbc.SybXAResource.sendRPC(SybXAResource.java:602)
        at com.sybase.jdbc2.jdbc.SybXAResource.start(SybXAResource.java:312)

This problem affects you when you do both local and global transactions. If, in a local transaction, the autoCommit default value is set to false, and a global or XA transaction starts (either a user transaction started by you, or a container transaction started by a container), the exception occurs.

This problem is a Sybase bug as the start() method can fail unexpectedly, regardless of the value of autoCommit. Currently, there is no workaround for this problem, therefore it is not recommended that you mix local and global transactions. Case 10880792 has been opened to resolve this problem.

Sybase does not throw an exception when an incorrect database name is specified

Verify that your database name is correctly entered on the data source properties.

Most databases (DB2, Oracle, Informix , MS SQL Server and Cloudscape) throw an exception when the database specified does not exist. But Sybase does not throw an exception when an incorrect database name is specified. Sybase generates an SQL warning and then connects to the default database. If you misspell the requested database name, Sybase connects you to the master or the default database where the table you requested is not found.

Back to Databases-Sybase
Back to Known problems and workarounds

Enterprise beans

All platforms

A single access-intent read ahead hint might not refer to the same bean type in more than one relationship

A single access-intent read ahead hint might not refer to the same bean type in more than one relationship. For example, if a Department enterprise bean has a relationship employees with the Employee enterprise bean, and also has a relationship manager with the Employee enterprise bean, then a read ahead hint cannot specify both employees and manager.

Enterprise bean deployment and Sybase IMAGE type restrictions

When deploying enterprise beans with Container-managed persistence (CMP) types that are non-primitive and do not have a natural JDBC mapping, the deployment tool maps the CMP type to a binary type in the database where it is stored as a serialized instance. For Sybase, the JDBC type LONG VARBINARY is used, which the Sybase driver maps to the native type IMAGE. You cannot use VARBINARY, which has fewer restrictions than IMAGE in Sybase, since it is limited to a size of 255 bytes, which is too small for typical serialized Java objects.

The specific restrictions on the IMAGE type are:

To work around this problem, edit the EJB mappings in the WebSphere Studio Application Developer (WSAD) toolset and do either of the following:Refer to the WebSphere Studio Application Developer documentation for more information about using composers.

Back to Enterprise beans
Back to Known problems and workarounds

Interoperability

Interoperability of the handle formats in WebSphere Application Server, Version 5 and Version 5.0.1

Applications that attempt to persist handles to enterprise beans and EJBHome needed to subclass ObjectInputStream in WebSphere Application Server, Version 5. This action was required so that the subclass ObjectInputStream could utilize the context class loader to resolve the classes for enterprise beans and EJBHome stubs.

In addition, handles created and persisted in WebSphere Application Server, Version 5 only work with objects that have an unchanged remote interface. If the remote interface is changed, the handle is no longer valid because the stub is serialized inside the handle and its serial Version UID changes if the remote interface changes.

This release introduces a new handle persistence mechanism that avoids the implementation drawbacks of the previous version. However, if handles are used for this WebSphere Application Server deployment, you should consider the following issues when applying this update, future WebSphere Application Server Fix Packs and EJB Container cumulative fixes for WebSphere Application Server, Version 5.

If a WebSphere Application Server, Version 5 persisted handle or home handle is encountered by a WebSphere Application Server, Version 5.0.1 system, it can be read and utilized. In addition, it will be converted to WebSphere Application Server, Version 5.0.1 format if it is re-persisted. The WebSphere Application Server, Version 5.0.1 format cannot be read by a WebSphere Application Server, Version 5 system unless PQ72184 is applied.

Problems arise when handles are persisted and shared across systems that are not at the WebSphere Application Server, Version 5.0.1 level or later. However, a Version 5 system can receive a handle from Version 5.0.1 remotely through a call to get a handle on an enterprise bean or a getHomeHandle on an EJBHome. The remote call will succeed, however, any attempt to persist it on the Version 5 system will have the same limitations regarding the use of ObjectInputStream and changes in remote interface invalidating the persisted handle.

When your application stores handles persistently and shares this persistence with multiple clients or application servers, apply WebSphere Application Server, Version 5.0.1 or PQ72184 to both the client and server systems at the same time. Failure to do so can result in the inability of these systems to read the handle data stored by upgraded systems. Also, handles stored by the WebSphere Application Server, Version 5 can force the applications of the updated system to still subclass ObjectInputStream. Applications using the WebSphere Application Server Enterprise, Version 5 scheduler and process choreographer, are affected by these changes. These users should update their Version 5 systems at the same time with either Version 5.0.1 or PQ72184.

If the applications store handles in the session context, or locally in a file on the same system, that is not shared by other applications, on different systems, they might be able to update their systems individually, rather than all at once. If Client Container and thin client applications do not share persisted handle data, they can be updated as needed as well. However, handles created and persisted in WebSphere Application Server, Version 5, Version 4.0.3 and later (with the property flag set), or Version 3.5.7 and later (with the property flag set) are not usable if either the home or the remote interface changes.

If any WebSphere Application Server, Version 3.5.7 or Version 4.0.3 and later enables the system property com.ibm.websphere.container.portable to true, any handles to objects on that server have the same interoperability limitations. In addition, if any WebSphere Application Server, Version 3.5.7 and later or Version 4.0.3 applications store a handle obtained from a WebSphere Application Server, Version 5 or Version 5.0.1, the same restrictions apply, regarding the need to subclass ObjectInputStream and the usability of handles after a change to the remote interface is made.

Secure interoperability between WebSphere Application Server, Version 5 and WebSphere Application Server, Version 5.0.1 fails when the Lightweight Directory Access Protocol base distinguished name in not correctly normalized in the WebSphere Application Server, Version 5 configuration

In WebSphere Application Server, Version 5.0.1, the distinguished name is normalized according to the Lightweight Directory Access Protocol (LDAP) specification. In WebSphere Application Server, Version 5, the normalization of the distinguished name is not done. The normalization consists of removing spaces in the base distinguished name before or after commas and equal symbols.

An example of a non-normalized base distinguished name is "o = ibm, c = us" or "o=ibm, c=us". .

An example of a normalized base distinguished name is "o=ibm,c=us".

It is preferred that the distinguished name is manually normalized when you enter the base distinguished name in the configuration. In WebSphere Application Server, Version 5.0.1 and higher version, the normalization occurs automatically at the run time.

When a WebSphere Application Server, Version 5.0.1 system, which always has a normalized distinguished name, sends a security token to a WebSphere Application Server, Version 5 system that contains a non-normalized distinguished name, the request is rejected due to the mismatched distinguished names during authorization. A common example of a request that fails is when a WebSphere Application Server, Version 5 node is synchronizing the configuration from a WebSphere Application Server, Version 5.0.1 deployment manager. Another example is that a request fails when a WebSphere Application Server, Version 5.0.1 servlet or enterprise bean makes a downstream request to a WebSphere Application Server, Version 5 enterprise bean. However, a request going from a WebSphere Application Server, Version 5 system to a WebSphere Application Server, Version 5.0.1 system does not fail.

To ensure the interoperability between WebSphere Application Server, Version 5 and Version 5.0.1, manually normalize the base distinguished name in the LDAP configuration on a WebSphere Application Server, Version 5.0 system by removing all the spaces before and after the commas and equal symbols.

Internationalization service interoperability issues between WebSphere Application Server, Version 5 and Version 5.0.1

The WebSphere Application Server Enterprise, Version 5 internationalization service has an interoperability problem that affects how dependent services and customer applications behave when deserializing internationalization context across interoperating WebSphere Application Server, Version 5 and Version 5.0.1 products.

Internationalization context created by the internationalization service causes an InvalidClassException when deserialized within the WebSphere Application Server runtime environment. This is true whenever:

Because internationalization service documentation does not instruct customers towards the manual serialization or deserialization of internationalization context, you should rarely, if ever, directly encounter this problem within your applications. However, it can manifest indirectly when interoperating between Version 5 and Version 5.0.1 releases of WebSphere Application Server Enterprise services that process Java 2 Platform, Enterprise Edition (J2EE) contextual information. The following services are affected by interim fix PQ73371:

To categorically avoid this problem, install the interim fix PQ73371 in all Version 5.0.1 server environments. The following section describes the specific problematic behaviors.

Problem description: internationalization

When attempting to deserialize internationalization context imported on an incoming EJB (RMI/IIOP) method request between interoperating Version 5 and Version 5.0.1 releases of WebSphere Application Server Enterprise, the internationalization service displays a message indicating an unexpected exception, InvalidClassException, and then scopes the default locale and time zone of the local Java virtual machine (JVM) as the caller internationalization context of the EJB method. Because the internationalization application programming interface (API) provides methods to set invocation internationalization context, not caller internationalization context, this behavior is immutable.

This problem appears whenever the following three conditions exist:

  1. An EJB method request is invoked between interoperating Version 5 and Version 5.0.1 releases of WebSphere Application Server Enterprise.
  2. The internationalization service is enabled in the invoking client or server environment.
  3. The internationalization service is enabled in the target server environment.

To avoid this problem, install the interim fix for PQ73371 to all Version 5.0.1 server environments.

Problem description: asynchronous beans

Asynchronous beans allow taking snapshots of Java 2 Platform, Enterprise Edition (J2EE) contextual information from the current servlet or EJB method. Such a snapshot is taken when using the WorkManager.create(Work r) method to obtain an instance of WorkWithExecutionContext - a serializable object that can be stored for future use. An instance of WorkWithExecutionContext contains internationalization context whenever:

  1. The WorkManager resource used to create the instance has the com.ibm.ws.i18n context policy attribute enabled, and
  2. The internationalization service is enabled.

Due to the internationalization service interoperability problem described above, deserializing WorkWithExecutionContext objects containing internationalization context created on the other version fails with an SerialDeserialException. This is true for:

In the event that asynchronous beans serialization mechanisms process an inoperable internationalization context within a WorkWithExecutionContext, and that interim fix PQ72742 is installed in the server environment, asynchronous beans display a message in the service logs that indicates an unexpected exception occurred involving the internationalization service:

ASYN9999E: Unexpected Exception Occurred: com.ibm.websphere.asynchbeans.SerialDeserialException: Exception while deserializing a saved service.  Service=com.ibm.ws.i18n.

When an asynchronous beans WorkManager begins executing a WorkWithExecutionContext instance with an invalid or missing internationalization context, and the internationalization service is enabled, the asynchronous beans scopes the default locale and time zone of the host JVM to the Work rather than the current invocation internationalization context.

To avoid this problem, install the interim fix for PQ73371 to all Version 5.0.1 server environments, and follow the directions prescribed in section PQ72742.RN.

Problem description: scheduler

The scheduler service employs the asynchronous beans serialization mechanisms when persisting a newly created task, and hence, is likewise affected by the interoperability problem involving internationalization context within the asynchronous beans WorkWithExecutionContext object.

While preparing to run a task, if the scheduler service (that is, asynchronous beans serialization) fails to deserialize the internationalization context, and the internationalization service is enabled, the scheduler service scopes the default locale and time zone of the host JVM to that task rather than the current invocation internationalization context. See "Problem description: asynchronous beans" for error messages and further details.

To avoid this problem, install the interim fix for PQ73371 to all Version 5.0.1 server environments, and follow the directions prescribed in section PQ72742.RN.

Problem description: process choreography

The process choreographer service employs the asynchronous beans serialization mechanisms when creating and executing interruptible flows. If a flow is unable to deserialize the internationalization context, and the internationalization service is enabled during execution, both compensating tasks and the flows themselves incorrectly use the default locale and time zone of the local JVM rather than the current invocation internationalization context. See "Problem description: asynchronous beans" for error messages and further details.

To avoid this problem, install the interim fix for PQ73371 to all Version 5.0.1 server environments, and follow the directions prescribed in section PQ72742.RN.

Back to Interoperability
Back to Known problems and workarounds

J2EE resources

All platforms

Misleading scope when installing RAR file at the server level

When installing a RAR file, by clicking Resources > Resource Adapters > Install RAR, the scope you define on the Resource Adapters page has no effect on where the RAR file gets installed. You can only install RAR files at the node level.The scope on the Install RAR page determines the node to install. However, the scope you set on the resource adapters panel determines the scope of the new Resource Adapters, which you can install at the server, node, or cell level.

Embedded Java Messaging Service provider installation fails

It is possible for the embedded Java Messaging Service (JMS) provider installation to fail without any visible warning. This situation can occur as a result of the JMS provider prerequisite checker returning an error that the IBM WebSphere Application Server installation is not expecting. The IBM WebSphere Application Server installation completes, but the JMS provider is not installed.

If the JMS installation fails, look for details in the mq_prereq.log file in the /tmp directory and in the create_mq.log and mq_install.log files in the $WAS_HOME$/log directory. When you have corrected the situation, install the embedded JMS provider separately by clicking the Custom installation then selecting either one or both of the following options, as required: Embedded Messaging Server and Embedded Messaging Client. For more information about installing the embedded JMS provider, see the InfoCenter article "Installing WebSphere embedded messaging as the JMS provider".

In the single server environment, the embedded Java Messaging Service server and IBM WebSphere Application Server run on the same single Java virtual machine

The embedded Java Messaging Service (JMS) server and the IBM WebSphere Application Server run on the same single Java virtual machine. Due to this architecture, if the MQ process (such as amq*.exe - not JMS process but MQ native proces) dies and restarts while the JMS server is running, you must restart the IBM WebSphere Application Server (ordinarily named "server1") manually. This shutdown also can affect other installed applications.

In the distributed server environment, the JMS server and the application server run in separate processes. Therefore, the JMS server is not required to restart the application server.

To work around this problem, restart the application server (server1).

Selecting the Java Messaging Service resources when deploying the WAR file

When you deploy a WAR file and select the JMS resources that you defined, you receive a warning message without selecting the JMS resources.

Information you should know about using server-side and client-side selectors

The default behavior for the internal JMS broker is to use server-side selectors. The default behavior for external brokers is to use client-side selectors. The reason for the latter is that not all brokers support server-side filtering. Those that do, are not all JMS compliant in their implementation process.

Stopping the queue manager while running the embedded Java Messaging Service provider stops the IBM WebSphere Application Server

When you run the embedded Java Message Service (JMS) provider and the queue manager stops, IBM WebSphere Application Server is also stopped.

To recover the queue manager and IBM WebSphere Application Server, you must start the application server.

Limited connection caching available for servlets

Caching of connection handles across servlet methods is limited to JDBC and Java Message Service (JMS) resources. Other non-relational resources, such as Customer Information Control System (CICS) or IMS, currently cannot have their connection handles cached in a servlet. This limitation only applies to single-threaded servlets since multithreaded servlets do not allow caching of connection handles.

To work around this problem, you need to get, use, and close the connection handle within each method invocation.

Problems with Xerces versions that are not J2EE compliant

Programs containing the Xerces parser routine that work on IBM WebSphere Application Server, Version 4.0.x might not work on IBM WebSphere Application Server, Version 5.

Versions of Xerces prior to 2.0.0, including the versions shipped with IBM WebSphere Application Server, Version 4.0.x, were not J2EE1.3 compliant. To meet J2EE1.3 certification constraints (DOM2/SAX2/JAXP1.1 (and no higher)), IBM WebSphere Application Server, Version 5 requires XML4J4.0.0 (Xerces 2.0 bug fixes).

In Xerces versions prior to 2.0.0 and Xalan versions prior to 2.2, the DOM, SAX, and JAXP APIs were bundled inside of the xerces.jar and xalan.jar files. In the most recent versions, these non-Apache XML APIs have moved into a separate JAR file in the XML common apache project. These common XML APIs are required by the specifications and contained within the IBM WebSphere Application Server, Version 5 j2ee.jar file.

The cause of the problem is that the class loader behavior mixes the classes that are required by J2EE1.3 with those of the older Xerces implementation.

To work around this problem, use the version that ships with IBM WebSphere Application Server, Version 5.

Back to J2EE resources
Back to Known problems and workarounds

National Language Version issues and limitations

All platforms


AIX


Linux


Solaris


Windows 2000


Windows NT


UNIX


HP-UX

Patches needed for correct character display of the installation panel on Asian language platforms


HP-UX

If the installation panel displays garbled characters on Asian language platforms, including Korean, traditional Chinese, Japanese, and simplified Chinese, on the HP-UX 11i platform, make sure that you have the following patches installed on your HP-UX 11i machine:

Name Brief Description
B6848BA Ximian GNOME 1.4 GTK+ Libraries for HP-UX 11.00 and 11i
BUNDLE11i Required Patch Bundle for HP-UX 11i, February 2001 or later
PHSS_26974(for 11.0) or PHSS_26973 (for 11i) Korean TrueType fonts
PHSS_24937(for 11.0) or PHSS_26977 (for 11i) Traditional Chinese TrueType fonts
PHSS_26972(for 11.0) or PHSS_26971 (for 11i) Japanese TrueType fonts
PHSS_26976(for 11.0) or PHSS_24975 (for 11i) Simplified Chinese TrueType fonts
PHSS_25091(for 11.0) or PHSS_25092 (for 11i) Common TrueType fonts


These patches can be found at the following URL: http://www.hp.com/products1/unix/java/infolibrary/font_info.html.

Cannot display newly created Windows domain users during application management for the non-English locales only )

The newly created domain users are not retrieved when you perform application management. The newly created groups are displayed correctly and the newly created local users are also displayed correctly. If you map users to roles by clicking A Role > Choose Users > Find Users, only users created on Primary Domain Controller, before adding the client machine to the domain are displayed. If a new user is created while the client machine is already on the domain, the getUser function does not retrieve the new users created on Primary Domain Controller. The getUser API works correctly for the English locales but does not work correctly for the non-English locales.

A 404 Not Found exception thrown when cells contain nodes on different locals


UNIX

On UNIX platforms, a "com.ibm.websphere.management.filetransfer.client.TransferFailedException: File download failed [404].Message: 404 Not Found" exception is thrown when federating nodes with non-matching double-byte character set (DBCS) locales.

All nodes incorporated into the same cell must be located on host machines with an identical locale setting. Cells containing nodes on different locales do not function properly and are not supported.

Help search does not return hits for Latin-1 terms with diacritical markings

The help search in the administrative console does not return search results for Latin-1 terms that contain diacritical markings (for example, German "fur", where the "u" includes an umlaut). To work around this problem, use the decimal representation of the character in the search term (for example, "f&#252;r").

Cannot access readme and PDF installation files for Traditional Chinese and German languages through the LaunchPad

You can view these files through any Web browser.

The readme file for Traditional Chinese is located at:

<cd drive>\readme\readme_zh_tw.html

The installation PDF file for Traditional Chinese is located at:

<cd drive>\doc\installguide_zh_tw.pdf

The readme file for German is located at:

<cd drive>\readme\readme_de.html

The installation PDF file for German is located at:

<cd drive>\doc\installguide_de.pdf

Avoid missing characters in license agreement

Before installing the IBM WebSphere Application Server on a Traditional Chinese AIX machine, type the following to avoid missing characters within the license agreement:

cd /usr/lib/nls/loc/iconv/
mv IBM-eucTW_CNS11643.1986-1 IBM-eucTW_CNS11643.1986-1.save
mv big5_CNS11643.1986-1 big5_CNS11643.1986-1.save

Help links for Application Assembly Tool, Application Resource Client Tool and Tivoli Performance Viewer bring up the English files

To work around this problem, change the path to the preferred language version to display the appropriate language (include list for languages if possible) list separately if the paths are not the same.

Product registration displays as English when installing in Brazilian Portuguese

When registering your product from the installation in Brazilian Portuguese, the product registration page displays in English.

To view the registration page in Brazilian Portuguese, you can enter the following URL, <install_root>\prt\PRT_Welcome_ptb.html or register the product using FirstSteps in Brazilian Portuguese.

Running servers in different code pages within a single cell is not supported

Both the IBM WebSphere Application Server Network Deployment node and the IBM WebSphere Application Server nodes must be on the same code page.

The Java virtual machine can not translate coded Character Set Identifier used by the embedded messaging queue manager

When running the IBM WebSphere Application Server with global security enabled the embedded messaging provider can fail to start with message MSGS0504E and an UnsupportedEncodingException:

 MSGS0504E: JMS Server Security Service Thread received Socket Exception:
  java.io.UnsupportedEncodingException: Cp5050

This message indicates that the Java virtual machine (JVM) cannot translate the Coded Character Set Identifier (CCSI) used by the embedded messaging queue manager.

To work around this problem, set a locale and language value that maps to a code page supported by the JVM. Refer to the WebSphere MQ messaging platform-specific books Web site at http://www-3.ibm.com/software/ts/mqseries/library/manualsa/manuals/platspecific.html for a "WebSphere MQ Platform Quick Beginnings V5.3" manual that is relevant to your platform. Look for a table in the manual with a list of locale and language to CCSI mappings supported by the queue manager. Then, select a locale and language that maps to a CCSID that is supported by the JVM. Set the selected locale and language, and restart the IBM WebSphere Application Server.

Insufficient prerequisites cause warning messages during installation with AIX 4.3.3


AIX

When installing the Simplified Chinese version of the IBM WebSphere Application Server on AIX 4.3.3, warning messages display because of insufficient prerequisites. The error message indicates that the file levels X11.fnt.ucs.ttf, X11.fnt.ucs.ttf_TW, and X11.fnt.ucs.ttf_KR do not match the level of file X11.fnt.ucs.ttf_CN. The latter file has a level of 4.3.3.25, while the others have the level 4.3.3.

To work around this problem, force the installation by modifying the prereqChecker.xml file to the required file level.

Japanese not recommended on Red Hat Advanced Server Version 2.1


Linux

The Red Hat Advanced Server Version 2.1 GUI language selection menu displays two selections for Japanese: Japanese (eucJP) and Japanese (SJIS).

Click Japanese (eucJP) to install and run the IBM WebSphere Application Server in a Japanese environment. Using Japanese (SJIS) is not recommended.

For reference see the Red Hat Japanese Web site at http://www.jp.redhat.com/support/7.2/sla/rh72faq.html .

Evaluating the product on National Language Version operating systems


AIX

Solaris

Windows 2000

Windows NT


The following steps are work arounds to evaluate IBM WebSphere Application Server and IBM WebSphere Application Server Network Deployment, Version 5 on National Language Version operating systems.

Back to National Language Version issues and limitations
Back to Known problems and workarounds

Performance data and tools

All platforms

Enabling Performance Monitoring Infrastructure in NodeAgent

Performance Monitoring Infrastructure (PMI) is disabled by default on NodeAgent. To enable PMI on NodeAgent:

  1. Open the administrative console.
  2. Click System Administration > Node Agents > nodeagent > Performance Monitoring Service.
  3. Select the check box in the Startup field.
  4. Click Apply or Ok.
  5. Click Save.
  6. Restart NodeAgent.

How to run a Performance Monitoring Infrastructure application

The article entitled, "Running your new monitoring applications" shows an incorrect script for using WSLauncher. The correct script follows:

call "~dp0setupCmdLine.bat"

set WAS_CP=%WAS_HOME%\lib\properties
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\pmi.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\pmiclient.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\ras.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\admin.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\wasjmx.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\j2ee.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\soap.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\soap-sec.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\nls.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\wsexception.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\ws-config-common.jar

%JAVA_HOME%\bin\java "%CLIENTSOAP%" "%CLIENTSAS%" "-Dws.ext.dirs=%WAS_EXT_DIRS%"
 %DEBUGOPTS% -classpath "%WAS_CP%" com.ibm.websphere.pmi.PmiClientTest host name [port] [connectorType]

More information about RangeStatistic data value

The article entitled, "Performance data classification" is missing the RangeStatistic data current value. RangeStatistic data contains current values, as well as lowWaterMark and highWaterMark.

More information about total memory counter in Java Virtual Machine run-time module

The total memory counter in the Java Virtual Machine (JVM) data category is a BoundedRangeStatistic type. However, the upperBound and lowerBound are not implemented in this release.

How to run a Performance Monitoring Infrastructure client application when security is enabled

To run a PMI client application, such as Tivoli Performance Viewer, when security is enabled, make sure that you have %CLIENTSOAP% and %CLIENTSAS% properties on your JVM command line. The %CLIENTSOAP% and %CLIENTSAS% properties are defined in the setupCmdLine.bat or setupCmdLine.sh file.

It is not necessary to change the PMI application code when security is enabled but you have to edit the property file WAS/properties/soap.client.props when the Simple Object Access Protocol (SOAP) connector is used. In the soap.client.props file, set com.ibm.SOAP.securityEnabled to true. Also set com.ibm.SOAP.loginUserid and com.ibm.SOAP.loginPassword to the user ID and password for login.

You have to edit the soap.client.props file as described here for the SOAP connector. For RMI connector, you can either edit the sas.client.props file or type in the user ID and password through a pop-up window if you do not put them in the property file. Note: A common mistake is leaving extra spaces at the end of the lines in the property file. Do not leave extra spaces at the end of the lines especially for the user ID and password lines.

Information you should know about JDBC data source names in Performance Monitoring Infrastructure

Performance Monitoring Infrastructure (PMI) collects performance data for both 4.0 and 5.0 JDBC data sources, which you can find under JDBC Connection Pool data contents. For a 4.0 data source, the data source name is used. For a 5.0 data source, the Java Naming and Directory Interface (JNDI) name is used.

Better startup performance requires a minimum heap size of 50MB

For better startup performance, it is recommended that you set minimum heap size to 50MB, that is, -Xms50m.

Back to Performance data and tools
Back to Known problems and workarounds

Samples

All platforms


HP-UX

WebSphere Application Server, Version 5.0.1 Samples installation and instructions

WebSphere Application Server, Version 5.0.1 contains updates for the Samples. The updates contain a number of minor fixes to the original Samples that are shipped with the product. The Samples documentation update is located in the samples50_fp1 directory. This directory is located off of the root directory of where WebSphere Application Server is installed. The file name is readme.pdf. The document contains instructions for uninstalling the Version 5 Samples and reinstalling the Version 5.0.1 Samples.

Samples Gallery font in languages other than English can appear small

The Samples Gallery font in languages other than English can appear small, depending on the browser you use. To work around this problem, increase the browser font settings.

Coexistence when using Point-to-Point and Publish and Subscribe Samples

During installation, it is possible to change the default ports for the bootstrap and Simple Object Access Protocol (SOAP) connector ports. If these ports are changed, additional parameters are required to override the default ports when using the launchclient command for the Point-to-Point and Publish and Subscribe Samples. The current documentation for the Samples assumes the default port settings. The additional parameters are:

-CCBootstrapPort=<bootstrap port>
-CCsoapConnectorPort=<soap connector port>

Known Pet Store problems

Creating new account causes duplicate key exceptions

You can create new accounts several ways in Pet Store. If Account is selected from a Pet Store screen before you signed in, you have the option of signing in, or creating a new account. If a new account is created in this flow, it fails with duplicate key exceptions. To create a new account click Sign in from a Pet Store screen.

Passwords are not compared when creating a new account

When creating a new account, you must provide a new password. The first Password field is not compared for a match with the second Password (Repeat) field.

Account information displays incorrectly

Your account information displays when Account is selected, or during the checkout process. First and last names are switched, the credit card name shows the expiration date, and expiration date shows the wrong date.

Items are added to the shopping cart with the wrong price

The Pet Store Item screen shows a picture of the product to purchase with a list price and your price. The list price is greater than your price. Items added to the shopping cart are added with the more expensive list price.

Add to cart resets the quantity of an item to one

When an item is added to the shopping cart it is added with an initial quantity of one. You can adjust the quantity to a higher number in the shopping cart. If that same item is added again to the shopping cart, the adjusted quantity is reset to one.

Pet Store pages do not show animal pictures or details when HTTP Transport is reconfigured to use a port other than 9080

If the Pet Store pages do not show animal pictures or details when you reconfigure the IBM WebSphere Application Server to use an HTTP Transport other than port 9080, the URL of Pet Store Catalog DAOSQLURL needs updating to use the new port.

You can reconfigure the URL resource to use the new port with the IBM WebSphere Application Server administrative console. Go to Resources > URL Providers (set scope to your Server) > Samples URL Provider - https > URLs > Pet Store Catalog DAO SQL URL. The port number is in the Specification field.

Forceful repopulating of Pet Store database fails

The option to forcefully repopulate the Pet Store database fails with an internal server error (HTTP 500 - The page cannot be displayed). Refrain from using this option.

$AdminApp installation documentation describes the -deployejb.dbtype option incorrectly

The documentation for $AdminApp installation describes the -deployejb.dbtype option as CLOUDSCAPE_V50. The correct option is CLOUDSCAPE_V5.

The following command is an example of its usage. The command deploys an application using IBM Cloudscape with the correct database type:

wsadmin -conntype none -c "$AdminApp install TechnologySamples.ear
{-appname TechnologySamples -usedefaultbindings -node <node> -deployejb
-deployejb.dbtype CLOUDSCAPE_V5}"

Security

All platforms


Linux


Solaris


z/OS


HP-UX


Windows


UNIX

An error message occurs in the native_stdout.log file when enabling security on HP- UX 11i platforms


HP-UX

After you enable security on HP-UX 11i platforms, the following error in the native_stdout.log file occurs, along with a core dump and WebSphere Application Server does not start:

Java HotSpot(TM) Server VM warning: Unexpected Signal 11 occurred under user-defined signal handler 0x7895710a

To work around this error, apply fixes recommended by HP for Java at the URL: http://www.hp.com/products1/unix/java/infolibrary/patches.html.

getCallerPrincipal() returns a realm/realm/user format when you specify a Domain Qualified User Name

When you specify Domain Qualified User Name from the Security > Global Security configuration panel, the runtime call to getCallerPrincipal() from an enterprise bean returns the qualified name with the realm prepended twice. For example, the format return is realm/realm/user. You can strip the first realm from the returned value when making API calls. The servlet API getUserPrincipal() works correctly.

Test connection fails for data sources with newly added J2C authentication data alias

If you create or update a data source that points to a newly created J2C authentication data alias, Test Connection fails to connect until you have restarted the deployment manager so that the J2C authentication data is reflected in the run-time configuration. Any changes to the J2C authentication data fields require a deployment manager restart for the changes to take effect.

WebSphere Application Server security help files incorrectly mapped

Some of the links from the following WebSphere Application Server security windows to their corresponding help files are incorrectly mapped:

Environment > Naming > CORBA Naming Service Users

Environment > Naming > CORBA Naming Service Users > Add

Environment > Naming > CORBA Naming Service Groups

Environment > Naming > CORBA Naming Service Groups > Add

System Administration > Console Groups > Add

Note: In the System Administration > Console Groups > Add window, the links to the help located next to Group Description and Role Description are correct. However, the link to the help text at the top of the help window is incorrect.

If you access a help file that does not correspond to the appropriate WebSphere Application Server window, use the following table to locate the correct help information. When you access the incorrect help file, find the listing of help files located under Core Console on the left side of your current help file window and click the appropriate link.

Window path Correct Help file
Environment > Naming > CORBA Naming Service Users CORBA Naming Service users settings
Environment > Naming > CORBA Naming Service Users > Add CORBA Naming Service users settings
Environment > Naming > CORBA Naming Service Groups CORBA Naming Service groups
Environment > Naming > CORBA Naming Service Groups > Add CORBA Naming Service groups
System Administration > Console Groups > Add Console groups settings


Java Authentication and Authorization Service configuration setting for Java client program

You must invoke Java client programs that use Java Authentication and Authorization Service (JAAS) for authentication with a JAAS configuration file specified. The WebSphere product supplies the default JAAS configuration file, wsjaas_client.conf under the <install_root>/properties directory. This configuration file is set in /<install_root>/bin/launchClient.bat file as:

set JAAS_LOGIN_CONFIG=-Djava.security.auth.login.config=%WAS_HOME%\properties\wsjaas_client.conf

If launchClient.bat file is not used to invoke Java client programs, make sure the appropriate JAAS configuration file is passed to the Java virtual machine with the

-Djava.security.auth.login.config flag.

Default Secure Sockets Layer alias of the cell is used to create HTTPS transport

On the IBM WebSphere Application Server Network Deployment installation, the Secure Sockets Layer alias of the default cell is used for the HTTPS transport when creating a new server.

The javax.security.auth.Subject.getSubject(java.security.AccessControlContext) method does not work within the AccessController.doPrivileged() method

You can retrieve the subjects in a Subject.doAs() block with the Subject.getSubject() call. However, this procedure does not work if there is an AccessController.doPrivileged() call within the Subject.doAs() block. In the following example, s1 is equal to s, but s2 is null:

AccessController.doPrivileged() not only truncate the Subject propagation, also reduce the
permissions, it does not includes the JAAS security policy defined for the principals in the Subject.
Subject.doAs(s, new PrivilegedAction() {
  public Object run() {
    System.out.println("Within Subject.doAsPrivileged()");
    Subject s1 = Subject.getSubject(AccessController.getContext());
    AccessController.doPrivileged(new PrivilegedAction() {
      public Object run() {
        Subject s2 = Subject.getSubject(AccessController.getContext());
        return null;
      }
    });
    return null;
  }
});

See the documentation for information on how to use the WSSubject class instead of the Subject object to associate IBM WebSphere Application Server credentials to the thread of context.

The IBM Java Secure Socket Extension is not supported within applets

The IBM Java Secure Socket Extension (JSSE) is currently not supported within applets.

The shadow password file must exist for the local operating system security to work


Linux

Solaris


For the IBM WebSphere Application Server local operating system security registry to work on Linux systems and a Solaris Operating Environment, a shadow password file must exist. The shadow password file is named shadow and is in the /etc directory. If the shadow password file does not exist, an error occurs after enabling global security and configuring the user registry as local operating system.

To create the shadow file, run the pwconv" command (with no parameters). This command creates an /etc/shadow file from the /etc/passwd file. After creating the shadow file, you can configure local operating system security.

The grant entries in the app.policy and was.policy files must have a code base

Grant entry specified in the app.policy and was.policy files must have a code base defined. If there are grant entries specified without a code base, the policy files are not loaded properly and the application can fail.

If the intent is to grant the permissions to all applications, then use file:${application} as a code base in the grant entry.

SecurityManager does not check modifyThread and modifyThreadGroup permission for non-system threads

When Java 2 Security is enabled in the Global Security settings, the installed SecurityManager does not currently check modifyThread and modifyThreadGroup permissions for non-system threads.

You can use Web applications and EJB application code to create threads and access to the following thread class methods: stop, suspend, resume, setPriority, setName, and setDaemon.

Allowing Web and EJB application code to create or modify a thread can have a negative impact on other components of the container and can affect the capability of the container to manage enterprise bean life cycles and transactions.

Information you should know about the Java Authentication and Authorization Service login configuration updates in the Security Center

The Java Authentication and Authorization Service (JAAS) login configuration entries in the Security Center are propagated to the server run time when they are created, not when the configuration is saved.

However, the deleted JAAS login configuration entries are not removed from the server run time. To remove the entries, save the new configuration, then stop and restart the server.

Web client certificate authentication is not currently supported with the local operating system authentication mechanism

Web client certificate authentication is not currently supported when using the local operating system (LocalOS) user registry. However, Java client certificate authentication does work with LocalOS. Java client certificate authentication maps the first attribute of the certificate domain name to the user ID in the LocalOS user registry.

Even though Java client certificates work properly, the following error displays in the SystemOut.log file:

SECJ0337E: The mapCertificate method is not supported

The error is intended for Web client certificates, but also displays for Java client certificates. You can ignore this error for Java client certificates.

Identity assertion fails when basic authentication is not selected

When specifying identity assertion on the CSIv2 Authentication Outbound panel, you must also select basic authentication as supported or required on the CSIv2 Authentication Outbound panel. This action allows the server identity to be submitted, along with the identity token, so that the receiving server can trust the sending server. Without specifying basic authentication as supported or required, trust is not established and the identity assertion fails.

Access denied in mixed security configuration

If your security configurations are not consistent across all servers, you get access denied errors.

When enabling or disabling global security in a Network Deployment environment, it is important that your new security setting is propagated to all the nodes before restarting the deployment manager and node agents to change the new security policy.

Configuration changes such as this are generally propagated using configuration synchronization. If auto-synchronization is enabled, you can wait for the automatic synchronization interval to pass or you can force synchronization before the synchronization interval expires. If you use manual synchronization, you must synchronize all nodes.

If the cell is in a configuration state, where the security policy is mixed with nodes that have security enabled and nodes that have security disabled, you can use the syncNode utility to synchronize the nodes where the new settings were not propagated.

Refer to the article entitled, "Enabling and removing global security" in the Network Deployment version for more detailed information about enabling security in a distributed environment.

Do not use forward slash character in the JAAS login configuration alias name

Do not use the forward slash character (/) in the alias name when defining JAAS login configuration entries. The JAAS login configuration parser cannot handle the forward slash character.

Exposing the JAAS Subject object and WSPrincipal interface

Several release notes follow that relate to how IBM WebSphere Application Server, Version 5 exposes the JAAS Subject object and WSPrincipal interface.

NO_PERMISSION returned during lookup request


z/OS

If a NO_PERMISSION error is returned to the IBM WebSphere Application Server, Version 5 client during a lookup request, apply PQ67441 for IBM WebSphere Application Server for z/OS, Version 4.0 to securely interoperate with an IBM WebSphere Application Server, Version 5 client.

The location of the SOAP security properties file is incorrect in the setupClient.bat and setupClient.sh files


Windows

UNIX


Note: This section applies to the application clients installation of WebSphere Application Server, Version 5 Fix Pack 1.

The setupClient.bat file on Windows platforms and the setupClient.sh file on UNIX platforms incorrectly specify the location of the SOAP security properties file.

In the setupClient.bat file, the correct location should be:

set CLIENTSOAP=-Dcom.ibm.SOAP.ConfigURL=file:%WAS_HOME%/properties/soap.client.props

In the setupClient.sh file, the CLIENTSOAP variable should be:

CLIENTSOAP=-Dcom.ibm.SOAP.ConfigURL=file:$WAS_HOME/properties/soap.client.props

In the setupClient.bat and setupClient.sh files, complete the following steps:

  1. Remove the leading / after file:.
  2. Change sas to soap.
Back to Security
Back to Known problems and workarounds

Web services

All platforms

Preserving an existing Web Services Gateway configuration when installing the fix pack

The update installer installs the enterprise applications for the Web Services Gateway in the /installableApps directory of WebSphere Application Server Network Deployment. To deploy the enterprise applications across the cell, complete the following steps:

  1. Back up the following gateway configuration files to a secure location, for later restoration. You can find these files on each application server on which the gateway has been installed.
    • WAS_HOME /installedApps/node_name/wsgwsoap1.ear/wsgwsoap.war/DeployedServices.ds
    • WAS_HOME/installedApps/node_name/wsgwsoap1.ear/wsgwsoap.war/wsgwsoap.channelname.cfg
    • WAS_HOME/installedApps/node_name/wsgwsoap2.ear/wsgwsoap.war/DeployedServices.ds (if installed)
    • WAS_HOME/installedApps/node_name/wsgwsoap2.ear/wsgwsoap.war/wsgwsoap.channelname.cfg (if installed)
    • WAS_HOME/installedApps/node_name/wsgw.ear/wsgw.war/wsgw.cfg

    where WAS_HOME is the root directory for each installation of the application server (by default WebSphere/AppServer).

  2. Install all fix packs for all WebSphere Application Server products by following the instructions in the product documentation article: "Installing fixes and fix packs."
  3. Use the WebSphere Application Server administrative console to stop and remove the following enterprise applications:
    • wsgw
    • wsgwsoap1
    • wsgwsoap2 (if installed)
  4. Complete the installation of the gateway by following the instructions in the product documentation article: "Web Services Gateway - Completing the installation."
  5. Stop the wsgw, wsgwsoap1, and wsgwsoap2 (if installed) applications.
  6. Restore the gateway configuration files that you backed up in step 1, by copying them back to their original locations. Replace any files of the same name that were created when the enterprise applications started.
  7. Restart the wsgw, wsgwsoap1, and wsgwsoap2 (if installed) applications.

Installing the Web Services Gateway into a deployment manager cell

If you are installing to your first remote server, complete the following steps:

  1. Follow the instructions given in the article entitled, "Installing the gateway into a deployment manager cell".
  2. Use FTP to copy the WSGWResourceBundles.jar file from the WebSphere_DeployMgr_root/lib directory (by default WebSphere/DeploymentManager/lib) to the /lib directory of the remote server (by default WebSphere/AppServer/lib).

For subsequent servers, complete the following steps:

  1. Use the IBM WebSphere Application Server Network Deployment administrative console to map the new server to each existing gateway application (in the administrative console click the required application, then click Map modules to application servers, highlight the required servers and apply them to the required modules).
  2. Use FTP to copy the WSGWResourceBundles.jar file from the WebSphere_DeployMgr_root/lib directory (by default WebSphere/DeploymentManager/lib) to the /lib directory of the remote server.
  3. Stop, then restart the application servers.

Web Services Technology Preview does not work in WebSphere Application Server, Version 5.0.1

When the Web Services Technology Preview is installed with the Web Services Security options selected, the Web Services invocation fails with the following errors:

Server side exception when invoking the Web Services:

[3/13/03 11:30:28:641 CST] 7d090dc5 WebGroup      E SRVE0026E: [Servlet Error]-[com.ibm.ws.security.core.SecurityContext: method getCurrent()Lcom/ibm/ISecurityLocalObjectBaseL13Impl/CurrentImpl; not found]: java.lang.NoSuchMethodError: com.ibm.ws.security.core.SecurityContext: method getCurrent()Lcom/ibm/ISecurityLocalObjectBaseL13Impl/CurrentImpl; not found

On the client side, the following default is returned:

AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultString: (500)Internal Server Error
 faultActor: null
 faultDetail:
        null: return code:  500
Error 500: com.ibm.ws.security.core.SecurityContext: method getCurrentt&#40;&#41;Lcom/ibm/ISecurityLocalObjectBaseL13Impl/CurrentImpl&#59; not found

The reason for these errors is that the WebSphere Application Server security run time in WebSphere Application Server Version 5.0.1 is updated but the Web Services Technology Preview is not.

Complete either of the following actions to avoid receiving the errors:

Two class libraries are available for Universal Description, Discovery, and Integration 4J

Universal Description, Discovery, and Integration 4J (UDDI4J) is a class library that provides an API used to interact with a UDDI registry.

Two class libraries are provided for UDDI4J in the library subdirectory:

Errors occur if you stop and restart the UDDI Registry application from the administrative console and then use the user console

If you stop and restart the UDDI Registry application from the administrative console, and then try to access the registry through the user console, an Error 500 - object is not an instance of a declaring class displays on the user console, and the error message SRVE0026E displays in the system log. You cannot access the UDDI Registry until you restart the IBM WebSphere Application Server.

To avoid seeing this problem when you restart the UDDI registry application, perform the following steps using the IBM WebSphere Application Server Administrative Console:

  1. Click Applications > Enterprise Applications.
  2. In the list of applications, locate and click the UDDI application link.
  3. Scroll down to the Related Items section and click Web Modules.
  4. Click gui.war.
  5. Change the Classload Mode value to PARENT_LAST (instead of PARENT_FIRST).

An UDIN2041I error might occur with the wsadmin appserversetupuddi.jacl command

The following scripting error might display when you run the wsadmin appserversetupuddi.jacl command:

UDIN2041I: Starting UDDI application. UDIN8019E: startApplication command for appname caught exception Exc. Values are: appname=UDDIRegistry, Exc=com.ibm.ws.scripting.ScriptingException: com.ibm.websphere.management.exception.ConnectorException: ADMC0009E: Failed to make the SOAP RPC call: invoke  

During installation, if you see the previous error after running the appserversetupuddi.jacl command, you can ignore the error. It is recommended that you start (or stop and restart) the application server and then continue.

Back to Web services
Back to Known problems and workarounds

Working with sessions

Unable to retrieve the HttpSession information in various client-server mode settings

When you utilize memory to memory HttpSession replication, functional problems arise, possibly revealed by but not restricted to a ClassCastException being thrown. The HttpSession information in various client-server mode settings is not properly retrieved. Also, specifying which remote replicators for the session manager to connect to might malfunction in the administrative console.

In addition to these functional fixes, performance enhancements have been introduced for most configuration options. Code changes have been made in the WebSphere Application Server, Version 5.0.1.

Back to Working with sessions 
Back to Known problems and workarounds

Workload management

Changes made to Java invocation used to run thin application clients


Unix

Windows 2000

Windows NT


When you invoke the Java command used to run the thin application clients, use the following parameters:

For Windows platforms: -Xbootclasspath/p:%WAS_BOOTCLASSPATH%

For UNIX platforms: -Xbootclasspath/p:$WAS_BOOTCLASSPATH

On IBM WebSphere Application Server client installations, the WAS_BOOTCLASSPATH environment variable is set in either the setupClient.bat (Windows platform) or setupClient.sh (UNIX platform) files.

On IBM WebSphere Application Server installations, the WAS_BOOTCLASSPATH environment variables are set in either the setupCmdLine.bat (Windows platform) or setupCmdLine.sh (UNIX platform) files.

Back to Workload management
Back to Known problems and workarounds

Working with HTTP servers

All platforms


UNIX


AIX


HP-UX


Linux


Windows 2000


Windows NT

Cannot start IBM HTTP Server 2.0.42.1 on AIX 5.2 systems

There is a potential IBM HTTP Server 2.0.42.1 startup failure on AIX 5.2 systems when a non-default AIX resolver configuration is used, for example, in /etc/netsvc.conf, and the IBM HTTP Server configuration file, for example, httpd.conf, uses the Listen directives that do not specify an Internet Protocol address. The following is an example of the error messages issued by IBM HTTP Server:

[crit] (78) A remote host did not respond within the timeout period.: alloc_listener: failed to set up sockaddr for ::
Syntax error on line 130 of /usr/IBMIHS/conf/httpd.conf
Listen setup failed.

This error is caused by a defect in the AIX resolver library. The defect is fixed by APAR IY40908 for AIX 5.2. The fix is shipped with AIX52B Gold and later.

In the meantime, you can take one of the following actions to solve the problem:

l

Change the permissions of four files to reduce the risk of security exposure


UNIX

When you update the IBM HTTP Server with WebSphere Application Server, Version 5.0.1on UNIX platforms, there are four files with 777 permissions that need to be updated. To change the permissions, issue the command chmod 644 <filename>, where the filename is one of the following files:

<IHS install location>/example_module/Makefile.exmpl
<IHS install location>/example_module/mod_example.exp
<IHS install location>/ssl/ikeyman/en_US/sgkey.sgs
<IHS install location>/version.signature

You must change the permissions of these files to reduce the risk of security exposures. Also, if you follow these instructions and change the permissions, the functionality of IBM HTTP Server is not adversely affected.

ImagePath entry not updated in registry when you change the document root

When you change the document root in the IBM HTTP Server Version 1.3.26 administration server, the ImagePath entry in the registry, corresponding to the HTTP server, does not update. There are no reported functionality problems caused by this registry entry.

Forms Proxy Settings and Proxy Cache do not behave correctly

When using Internet Explorer Version 6.0 to view the IBM HTTP Administration server, the Forms Proxy Settings and Proxy Cache do not behave correctly. If you select the radio buttons that display editable fields, the fields do not display.

To work around this problem, use another version of the browser.

Unable to use the default service names created by the installer because they are common


Windows 2000

Windows NT


In a same version coexistence scenario for IBM HTTP Server Version 1.3.26 or Version 2.0.42 on a Windows platform, you are unable to use the default service names created by the installer because they are common.

To work around this problem:

  1. Install the first copy of IBM HTTP Server, either by itself or with IBM WebSphere Application Server.
  2. Customize the service names for the first install by running the following commands from the first install location:
    apache -k install -n "IHS 1.3.26(1)"
            apache -k install -f conf\admin.conf -n "IHS 1.3.26 Administration (1)"
  3. Edit the AdminAlias directive in the <installLocation 1>\conf\admin.conf file to point to the new service name, for example "IHS 1.3.26(1)".
  4. Remove the default service names installed by the first install by running:
    apache -k uninstall -n "IBM HTTP Server 1.3.26"
            apache -k uninstall -n "IBM HTTP Administration 1.3.26"
  5. Install the second copy of IBM HTTP Server, either by itself or with IBM WebSphere Application Server. The default service names will now correspond to the second install.

Note: The custom service names above need to be unique on your system and are not required to be those exact strings.

Null pointer exception during interactive installation of IBM HTTP Server on AIX systems


AIX

When installing IBM HTTP Server as a standalone GUI installation on the AIX platform, you can receive a null pointer Java error on the installation panels, when the installer begins to copy files to your machine. This situation is caused by an unstable AIX Object Data Manager (ODM) registry.

To work around this problem:

  1. Exit the installer.
  2. Issue the lslpp -l|grep IHS command to see if there are remaining IBM HTTP Server registry entries that should not be there.
  3. If there are remaining IBM HTTP Server registry entries, do a silent installation of IBM HTTP Server by running the following command:
    java -jar setup.jar -silent -P ihs.installLocation=<the desired install location>

Note: To remove the installation silently, add the -silent parameter to the regular uninstall command, for example:

java -jar _uninst/uninstall.jar -silent
from the IBM HTTP Server installation location.

Certificate Revocation List is not supported for IBM HTTP Server on HP-UX and Linux/s390


HP-UX

Linux


Using Certificate Revocation List (CRL) with IBM HTTP Server HP-UX and Linux/s390 is not supported at this time.

Problem using the ikeycmd command-line interface from IBM HTTP Server on Linux/390


Linux

You can see a Java core dump after executing an ikeyman command function, such as creating the stash file. This core dump occurs on both RedHat and SuSE releases and is the result of a conflict in library routines caused by the default loading sequence.

To work around this problem, set the LD_PRELOAD=/usr/lib/libstdc+//0-libc6.1-2.so.3 environment variable before running the command. Then, this library loads first when the application is starts. Note that setting this environment variable is also necessary to allow Secure Sockets Layer to work correctly on Linux390.

Back to Working with HTTP servers
Back to Known problems and workarounds

Working with Web browsers

Netscape browser must be capable of launching from a terminal window on all UNIX platforms


AIX

Linux

Solaris

Unix


To make sure the Netscape browser can launch from a terminal window, edit or create a file called profile in the /etc directory and add the Netscape directory to the system path. For example:

PATH=$PATH:/opt/Netscape
export PATH

Back to Working with Web browsers
Back to Known problems and workarounds

Documentation

All platforms

More information on configuring the Edge-Side Include processor is located in the documentation article "Configuring Edge Side Include caching"

ESI (Edge Side Include) is configured through the plugin-cfg.xml file. This information is documented under "Improving performance with the dynamic cache service". A link is missing in the ESI documentation to the the plugin-cfg.xml file documentation. The plugin-cfg.xml file documentation is located in the article "Configuring Edge Side Include caching". Refer to this article for more information on configuring the ESI processor.

Updates to documentation security article "Example: Form Login"

This article contains an example of an error page in a JSP file that does not work. Avoid using it in any application.

Using the View menu to increase the font size

If section headings and formatted text do not work properly when viewing the InfoCenter in your browser, use the View menu in your browser to increase the font size.

Update for the article entitled "Cannot uninstall an application or remove a node or application server"

The article entitled, "Cannot uninstall an application or remove a node or application server" contains a reference to a nonexistent addNode program option.

The erroneous line reads:

"If the applications were installed indirectly using the addNode program might be in use by other nodes. These applications must be explicitly uninstalled, for example through the administrative console."

The correct line should be:

"If the applications were installed indirectly using the addNode program with the -includeapps option, then removeNode does not uninstall them, since they might be in use by other nodes. These applications must be explicitly uninstalled, for example through the administrative console."

Update for the article "Creating a custom Java administrative client program using IBM WebSphere Application Server administrative Java APIs"

In the article entitled, "Creating a custom Java administrative client program using IBM WebSphere Application Server administrative Java APIs", replace the example under step 3 with the following text:

@echo off

call "%~dp0setupCmdLine.bat"

"%JAVA_HOME%\bin\java" "%CLIENTSAS%" 
"-Dwas.install.root=%WAS_HOME%" 
"-Dwas.repository.root=%CONFIG_ROOT%" -Dcom.ibm.CORBA.BootstrapHost=%COMPUTERNAME% -classpath 
"%WAS_CLASSPATH%;w:\DeploymentManager\classes;w:\DeploymentManager\lib\admin.jar;
w:\DeploymentManager\lib\wasjmx.jar" MyAdminClient %*

How to run a Performance Monitoring Infrastructure application

The the article "Running your new monitoring applications" shows a wrong script for using WSLauncher. The correct script follows:

call "%~dp0setupCmdLine.bat"

set WAS_CP=%WAS_HOME%\lib\properties
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\pmi.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\pmiclient.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\ras.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\admin.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\wasjmx.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\j2ee.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\soap.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\soap-sec.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\nls.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\wsexception.jar
set WAS_CP=%WAS_CP%;%WAS_HOME%\lib\ws-config-common.jar

%JAVA_HOME%\bin\java "%CLIENTSOAP%" "%CLIENTSAS%" "-Dws.ext.dirs=%WAS_EXT_DIRS%"
 %DEBUGOPTS% -classpath "%WAS_CP%" com.ibm.websphere.pmi.PmiClientTest host name [port] [connectorType]

Back to Documentation
Back to Known problems and workarounds

Troubleshooting

All platforms


AIX

The Log Analyzer displays error messages during startup

Upon starting the Log Analyzer, the following error messages might display in the Log Analyzer shell window:

Cannot open input stream for default
Cannot open input stream for default
Cannot load configuration: default
Cannot open input stream for default
Cannot open input stream for default
Cannot load configuration: default

These error messages indicate corrupt or incomplete user preference files.

To solve this problem, take the following actions:

  1. Close the Log Analyzer.
  2. Delete all user preference files in the %USERPROFILE%\logbr directory on Windows platforms or $HOME/logbr directory on UNIX platforms.
  3. Restart the Log Analyzer.
Note:Deleting all user preference files removes the preferences of Log Analyzer set by the user in the preferences dialog.

The Log Analyzer displays informational message during startup

Upon starting the Log Analyzer for the first time or after the Log Analyzer preferences files of the users are deleted, the following message displays in the Log Analyzer shell window:

Cannot open input stream for waslogbrsys

This message is an informational message. You can disregard the message because it does not affect the execution of the Log Analyzer.

How to silently install Log Analyzer

The responsefile.txt file for silent installation needs more information to install Log Analyzer. To silently install Log Analyzer, add the following option to theresponsefile.txt file:

-P logAnalyzerBean.active="true"

Set the Performance and Analysis Tools property in the responsefile.txt file to true for Log Analyzer to install. The property in the responsefile.txt file follows:

-P performanceAndAnalysisToolsBean.active="true"

How to access the Log Analyzer help files

For Windows platforms, you can only access the Log Analyzer help files using the operating system default Internet browser. You cannot access the help files using any Internet browser, even though there are options allowing you to select either Netscape or Internet Explorer and set the location of the browser to display HTML help files.

For UNIX platforms, you can access the help files using any Internet browser, such as Netscape Navigator, by explicitly setting the location of the browser executable in the tool Preferences dialog. The option that seemingly allows you to select either Netscape or Internet Explorer as the browser to display HTML help files is not used.

To specify the browser on UNIX platforms:

  1. In the Log Analyzer tool, click File > Preferences.
  2. In the Log Analyzer Preferences dialog, click Help from theGeneral folder.
  3. Set the path to the Internet browser executable in the Browser Location field.

Ignore the following WebSphere Commerce Suite files

WebSphere Application Server includes the following Log Analyzer files for use with the WebSphere Commerce Suite:

You can ignore these files.

Errors occur setting trace specification for components and groups

An error can occur when setting a trace specification from the administrative console if selections are made from both the Groups and Components lists. In certain cases, the selection made from one list is not lost when adding a selection from the other list. To work around this problem, enter the desired trace specification directly into the Trace Specification entry field.

Netscape browser fails when trying to enable a component trace


AIX

On systems using AIX, the Netscape browser fails when you try to enable trace on a component.

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

Enabling trace on client and stand-alone applications

The WebSphere J2EE application client and many stand-alone processes define a process-specific mechanism for enabling trace. To enable trace and message logging for client applications or processes that have not defined such a mechanism, add the -DtraceSettingsFile=filename system property to the startup script or command.

For example, to trace the stand-alone client application program named com.ibm.sample.MyClientProgram, enter the command:

java -DtraceSettingsFile=MyTraceSettings.properties com.ibm.samples.MyClientProgram

The file identified by filename must be a properties file placed in the classpath of the application client or stand-alone process. An example file is provided in install_root/properties/TraceSettings.properties.

You can configure the MyTraceSettings.properties file to send trace output to a file using the traceFileName property. Specify one of two options:

You can also specify a trace string for writing messages with the Trace String property, Specify a startup trace specification similar to that available on the server.

For your convenience, you can enter multiple individual trace strings into the trace settings file, one trace string per line.

Here are the results of using each optional property setting:

Back to Troubleshooting
Back to Known problems and workarounds
 Last updated:  Jun 18, 2003 11:07:38 AM EDT
Library | Support | Trademarks | Feedback