This document contains the Release Notes for WebSphere Application Server Advanced Single Server Edition Version 4.0 FixPak 5 (4.0.5) and Advanced Edition Version 4.0 FixPak 5 (4.0.5). Note that WebSphere Application Server Version 4.0 FixPak 5 (4.0.5) does not support TurboLinux on zOS.
These notes will be updated periodically. For the latest version of these Release Notes, check the IBM WebSphere Application Server InfoCenter page at http://www.ibm.com/software/webservers/appserv/infocenter.html.
This document covers the following topics:
The following Web site lists the prerequisite products for the IBM WebSphere Application Server:
http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html
Read the license for each product that you intend to use. These licenses are provided in English only.
WebSphere Application Server Version 4.0.5 provides prerequisite upgrades for the following:
Complete installation instructions for Version 4.0.5 are included in the README file shipped with the FixPak installation code. Read the README file before installing Version 4.0.5. Note that FixPaks are cumulative and contain all updates and fixes shipped in previous FixPaks.
If you are upgrading to WebSphere Application Server Version 4.0.5 and you use DataDirect (formerly Merant) drivers to connect to backend databases, upgrade to the latest version of these drivers. See the IBM Support site for more information.
The documentation for Version 4.0.5 supplements the Version 4.0 WebSphere Application Server InfoCenter, which is at http://www.ibm.com/software/webservers/appserv/infocenter.html. Topics covered in the Version 4.0.5 documentation include:
Note that, for this release, the InfoCenter has not been updated. The Version 4.0 InfoCenter remains the most current version. The documentation provided with this release adds to or corrects portions of the Version 4.0 InfoCenter.
The TechNotes database contains additional information about known defects and the workarounds. The TechNotes database also includes some supplemental information for topics covered in the WebSphere Application Server documentation.
To search the TechNotes database, go to the TechNotes database Web page, select a component, and click Go. You can also search the database by keywords.
This section contains information about known defects and the workarounds. If a problem that you encounter is not mentioned in this section, examine the TechNotes database for information on that problem.
UNIX
AIX
HP-UX
Linux
Solaris Operating Environment
Windows2000
Windows NT
After installing a WebSphere Application Server FixPak, regenerate the plug-in configuration. Before you begin, ensure that your hardware and supporting software requirements meet prerequisites for the FixPak. The lists of prerequisite products needed for IBM WebSphere Application Server are at http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html. Then install the FixPak using the instructions in the README file that accompanies the FixPak downloadable files.
To regenerate the configuration, complete the following steps:
Alternatively, for both the Advanced Edition and Advanced Single Server Edition, you can regenerate your plug-ins by running the command line utility GenPluginCfg. For information on the arguments of command line utility, type GenPluginCfg.bat for Windows platforms or GenPluginCfg.sh for UNIX platforms. For more detailed instructions, see the WebSphere Application Server Version 4.0 InfoCenter.
When you only have a plug-in and a Web server installed on your machine, install an IBM Software Development Kit on your machine in which the FixPak is installed. When WebSphere Application Server Version 4.0 installs the plug-in, it does install the IBM Software Development Kit. The FixPak installation uses the Java code, therefore an IBM Software Development Kit must be present.
If you select to upgrade WebSphere Application Server when you install FixPak 4, you must also upgrade your IBM Software Development Kit level. Select Yes to upgrade the IBM Software Development Kit level.
If you interrupt the installation of WebSphere Application Server FixPak 5 while the files are backing up, the backup_jar file might be corrupted, which causes the uninstallation to fail. If you continue the installation, pay particular attention to where the backup JAR files are stored. Although you can specify your own directory, the two most common default locations are in the <was_root> directory, and the directory where you are running the installation script. If you are installing the WebSphere Application Server update, the default directory is <was_root>. If you are not installing the update, the default directory is in the directory that contains the installation script. Replace the corrupted backup JAR file with the JAR file from that directory. If you need to back out or uninstall the FixPak, ensure that valid backup JAR files exist in one directory, based on the components that you wish to back out.
Note: If you run the uninstall_ptf_5.sh or uninstall_ptf_5.bat script from the <was_root> directory, the uninstallation defaults to using whatever the backup JAR files it finds there unless you direct it to look someplace else. An example of what the backup JAR files are called ihs_ptf_5_backup.jar, jdk_ptf_5_backup.jar, J2C_ptf_5_backup.jar, and was40_ae_ptf_5_backup.jar.
See the README file for detailed installation instructions.
CSD3 should be applied to MQSeries 5.2. If the MQSeries queue manager halts while the administrative server of WebSphere Application Server is running, you can restart the MQSeries queue manager without rebooting the system. However, it could require that the administrative server to be cycled.
If the authentication fails or is very slow, when using Lightweight Third Party Authentication (LTPA) and Lightweight Directory Access Protocol (LDAP) cluster, perform the following two configurations or choose one of them:
Note: An LDAP cluster is defined as multiple LDAP servers which appear as a single LDAP server due to the use of a network dispatcher or Internet Protocol (IP) sprayer.
Caution: If time limit is set too small, a search might be terminated before it is completed.
Installation of a FixPak that makes use of network resources can take substantially longer to execute than one which uses local resources.
For the best speed, make sure that the following files and directories are available through local resources:
See the usage and help text for directions on how to set these values. Usage information is available for both the installation and uninstallation scripts. Use the -usage command line option to display usage information. Use the -help command line option to display comprehensive help.
Applications that ran on WebSphere Application Server prior to Version 4.0.3 did not check for the Java 2 Platform, Enterprise Edition (J2EE) tag sequence standard (they might not work or might require changes) because now there is tag sequence validation and the standard is supported by the current release.
The WebSphere Application Server element type tag sequence must match with the following requirements: name, tag class, teiclass, body content, information, and attribute*.
Applications written using the JavaServer Pages (JSP) element tag like name, tag class, teiclass, body content, information, attribute*. for WebSphere Application Server Version 4.0.3 and later need to follow the standards defined in the URL http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd.
If the WebSphere Application Server Advanced Edition is installed and migrated into the same directory as a previous Advanced Single Server Edition installation, the Advanced Single Server Edition installation is no longer a valid installation. Do not run the uninstallation program because it uninstalls the new Advanced Edition installation.
Further, if the WebSphere Application Server Advanced Edition is installed and migrated into the same directory as a previous Advanced Single Server Edition installation, the Advanced Single Server Edition property files are lost. If you plan on manually migrating any of your property files, back up the Advanced Single Server Edition property files before installing the Advanced Edition.
To use SQL Server as the WebSphere Application Server administrative repository, ensure that you have the WebSphere Application Server database in your SQL Server. To create the Enterprise Manager in SQL server, complete the following steps:
Note: The above information also applies to the InfoCenter articles "6.6.46: Administering WebSphere administrative servers" and "6.6.14.5: Additional administrative tasks for specific databases."
If you want to use the Java Naming and Directory Interface (JNDI) client on WebSphere Application Server Version 3.5.3 or Version 3.5.4 to access a Version 4.0.x name server, you must apply fix PQ51387 to your Version 3.5.x product. This fix is available at http://www.ibm.com/software/webservers/appserv/support.html.
Follow the instructions in the README to update the ujc.jar file and ns.jar file on WebSphere Application Server Version 3.5.x.
During installation, if you select Informix as the backend database and also select the remote database option, the installation program is able to configure the Informix database with the remote database option. To manually configure Informix, set the following property in the admin.config file after the installation completes:
com.ibm.ejs.sm.adminServer.dbifxIFXHOST=remote_host_name
During the installation of the FixPak, you must choose Yes to upgrade WebSphere Application Server if you have a plug-in only installation on that machine. The new plug-in files are installed when updating the WebSphere Application Server. Extra files might be installed under the <WAS_UPDATE_HOME> directory. However, they do not cause any problems.
The WebSphere Application Server Java 2 Platform, Enterprise Edition (J2EE) Application client run time (launchClient) does not support the use of the embedded DataDirect database driver as a local client Java Database Connectivity (JDBC) resource. Attempting to do so results in a "License verification failed" error.
The DataDirect driver performs a license check to make sure you have a valid license to use the DataDirect drivers. A license key is provided by DataDirect and this key needs to be set as the on database connection objects using the oemID field. DataDirect has provided IBM a license key to be used by WebSphere Application Server run time when a database connection is created on the server. However, on the client, the J2EE specification requires a javax.sql.DataSource object to be returned to the client application instead of a database connection, as on the server. Therefore, WebSphere Application Server J2EE application client run time does not create or maintain database connection objects and cannot set the oemID license field. The client application code needs to create the connection object from the data source object returned by the application client run time and set the oemID field. IBM's agreement with DataDirect prohibits IBM from distributing the license key in a form that is usable by the client application in this situation. If the client application must access the database directly, then a client license needs to be acquired from DataDirect.
In general, WebSphere Application Server does not provide client database drivers. If your client application uses a database directly, you must provide the database drivers on the client machine. This could involve contacting your database vendor to acquire client database driver code and licenses.
Instead of accessing the database directly, it is recommended that your client application use an enterprise bean. Accessing a database through an enterprise bean eliminates the need to have database drivers on the client machine, since the database access is handled by the enterprise bean running on WebSphere Application Server.
If you issue the db2setup command to start the DB2 installer, and the compat-2001.5.29-0.s390.rpm package is not installed, the setup command fails with an error stating that the installer is unable to load the libstdc++-libc6.1-2.so.3 library.
To work around this problem, verify
that compat-2001.5.29-0.s390.rpm package is installed.
You can verify that this package is installed by issuing the following command:
rpm -qa | grep compat-2001.5.29-0.
If that package name is not returned as the output of the command, locate the rpm file on your base SuSE SLES 7.0 CD-ROMs and install it.
A. Before you install WebSphere Application Server, ensure that you have done the following:
The instjdbc.sql script generates many messages. These messages should be benign and can be ignored in most cases, but you should review the output for any messages that indicate an installation/execution error. The last message should indicate that instjdbc.sql script ran successfully.
Name:serverName
Type: java.lang.String
Value: servername
Note: servername is the actual host name.
Click OK on the Resource Properties: serverName panel.
Name: portNumber
Type: java.lang.Integer
Value:port_number
Note: port_number is the actual port number for the port number field. 1433 is the default portNumber of SQLSERVER.
Click OK on the Resource Properties: portNumber panel.
Name: disable2Phase
Type: java.lang.Boolean
Value: true
Click OK on the Resource Properties: disable2Phase panel.
C. Configure WebSphere Application Server Advanced Edition to use the SQL Server with Type 4 Driver as an administrative database.
Change value: com.ibm.ejs.sm.adminServer.dbportNumber = 1433 (default is "19996").
<variable> <name>jdbcDriver</name> <value>c:/WebSphere/AppServer/lib/base.jar; c:/WebSphere/AppServer/lib/sqlserver.jar; c:/WebSphere/AppServer/lib/util.jar; c:/WebSphere/AppServer/lib/spy.jar </value> </variable>
<variable> <name>jdbcDriver</name> <value>c:/WebSphere/AppServer/lib/msbase.jar;c:/WebSphere/AppServer/lib/mssqlserver.jar;c:/WebSphere/AppServer/lib/mssqlserver.jar/msutil.jar </variable>
D. Configuring the Type 4 Driver data source for MS SQL Server for the WebSphere Application Server Advanced Edition.
a.Under the General tab:
Under the General tab:
a. Type the name of JDBC provider, for example, myDataSource.
b. Type the JNDI name, for example, jdbc/myDataSource.
c. Type the following custom properties:
databaseName
portNumber
serverName
user
password
For more information, refer to B. Configuring the Type 4 Driver data
source for MS SQL Server for the WebSphere Application Server Advanced Single Server Edition.
d. Add selectMethod (its value is cursor) in Custom Properties.
e. Test Connection. If a Test Connection Successfully message appears,
the new data source creation is successful.
f. Click OK.
Note: These configuration methods are applicable to ConnectJDBC 3.1 as a depository connection.
If you experience any RMI-IIOP client or enterprise application server hangs during an operation, add the following two CORBA properties to tune your application server or client application.
com.ibm.CORBA.sendTriesCount=n // n is an integer number from 1 to JAVA Max allowed integer number // default value of n is 5 // n means n number of attempts // by setting this to 3, it will make maximum of 3 attempts on each request. // if all n attempts are failed on that particular request, error or exception // will be thrown. com.ibm.CORBA.sendTriesDelay=n // n is an integer number from 0 to JAVA Max allowed integer number // default value of n is 0 // n means n is millisecond // by setting this to 1000, it will make 1 second sleep time in between // each attempt
Note: By using the above two properties, you might experience some minor performance impact.
However, this performance impact is inevitable because object request broker (ORB) uses these properties to work around the
intermittent input or output exception thrown from the client side IBM Software Development Kit;
furthermore, these properties are different from the com.ibm.CORBA.requestRetriesCount
and com.ibm.CORBA.requestRetriesDelay properties.
You might need to use all four of these properties to tune you client application and
application server.
Enabling in-process transaction logging in WebSphere Application Server
Advanced Edition (Defect 144808)
You can improve the throughput of WebSphere Application Server Advanced Edition that make heavy use
of two-phase commitment transactions. Configure the application server to use
in-process transaction logging rather than logging through the administrative server, which is
the default. To enable in-process transaction logging, set the system property
WAS_TRANSACTION_LOGSPEC for the particular application server
Java virtual machine (JVM) settings, set the value of the system property to a pair of files separated by
a comma. These two files are used for the server transaction logs, for example,
/WebSphere/AppServer/tranlog/server1log1,/WebSphere/AppServer/tranlog/server1log2.
Remove directories when the installedApps directory is a symbolic link (Defect PQ63523.RN)
Some installations use a symbolic link for the installed enterprise application directory, <WAS_ROOT>/installedApps. A directive is added to specify that during the removal of an application, symbolic links should be followed when recursively deleting files. The new directive is com.ibm.ejs.adminServer.recursiveDeleteSymLink=true.
Note: Before activating this property, make sure that these links do not point to the directories that could cause harm to your system if they were removed when you use symbolic links for your enterprise application directories.
Section 18.3.2 of the Sun Microsystems Enterprise JavaBeans Specification, V 1.1 states: "The enterprise bean's home and remote interfaces are remote interfaces for Java RMI. The Container must ensure the semantics for passing arguments conform to Java RMI. Non-remote objects must be passed by value. Specifically, the EJB Container is not allowed to pass non-remote objects by reference on inter-EJB invocations when the calling and called enterprise beans are collocated in the same Java virtual machine (JVM). Doing so could result in the multiple beans sharing the state of a Java object, which would break the semantics of the enterprise bean."
This information concludes that the use of the pass-by-reference option for enterprise beans is a willful violation of the EJB specification. In addition, there are coding considerations that must be kept in mind if this option is chosen. Object references passed to EJB methods or EJB home methods are not copied and therefore might be subject to corruption. Consider the following example:
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
In this code sample, a reference to the same MyPrimaryKey object is passed into WebSphere Application Server, each time with a different ID value. If this code is run with the pass-by-reference option enabled, it causes a problem within WebSphere Application Server because multiple enterprise beans are referencing the same MyPrimaryKey object. To avoid this problem in WebSphere Application Server Version 4.0.5, when running in pass-by-reference mode, you must also set the system property com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation to true. This causes the EJB container to make a local copy of the PrimaryKey object. However, a small portion of the performance advantage of setting the pass-by-reference option is lost.
This is one example of problems that might occur as a result of using the pass-by-reference option. As a general rule, any application code that passes an object reference as a parameter to an EJB method or EJB home method must be scrutinized to determine if passing that object reference causes integrity or other problems.
The only supported interoperability configuration is using the WebSphere Application Server Version 4.0.4 administrative client to administer a Version 4.0.5 administrative server. Under a multinode WebSphere environment and the EAR file deployment, some effects of mixing client and server with different versions include the following:
The primary reason for this support is the incremental migration associated with the largescale customers. This incremental migration deals with the situation where a FixPak level administrative client talks to another FixPak level administrative server.
The recommended configuration remains using a WebSphere Application Server Version 4.0.5 for both the administrative client and administrative server.
UNIX
The files on an AIX platform are installed with checksum errors (110363.RN)
If you installed the administrative component only, edit the following file and replace $(WASROOT) with your WebSphere Application Server home directory.
install_root/properties/sas.client.props and find the following line in the file:
com.ibm.CORBA.securityTraceOutput=$(WASROOT)/logs/sas.client.log
AIX
The files on AIX are installed with checksum errors (XPQ35815.RN)
If you install WebSphere Application Server on an AIX machine, and issue the installp command, you receive errors for some of the installed files. These errors do not affect the installation, running, or uninstallation of the product.
AIX
Informix IDS_2000 has a load libc_r.a problem on an AIX 4.3.3 platform (108882.RN)
After installing, Informix IDS_2000 has a load libc_r.a problem on an AIX 4.3.3 platform even if the software installed without problems. If you run any Informix command, such as oninit -ivy, onstat -l, or onmode, you receive error messages.
To avoid receiving error messages, do one of the following:
AIX
Upgrade Netscape browser after applying APAR IY19277 on an AIX platform (108934)
After you install WebSphere Application Server and all of its prerequisites on an AIX platform, Netscape Communicator 4.73 (or later) might not start. The following error message indicates this failure:
Could not load program /afs/torolab.ibm.com/common/progs/netscape47/netscape_aix4: Symbol resolution failed for /usr/lib/libpthreads.a(shr.o) because: Symbol thread_unlock (number 121) is not exported from dependent module /afs/torolab.ibm.com/common/progs/netscape47/lib433/libc_r.a(shr.o). Symbol thread_waitlock (number 122) is not exported from dependent module /afs/torolab.ibm.com/common/progs/netscape47/lib433/libc_r.a(shr.o).
This error occurs because Netscape Communicator V4 uses a private copy of libc.a which must stay synchronized with other shared AIX libraries. If AIX updates are applied to your system, update the copy of libc.a used by Netscape Communicator.
You can download the updated version of libc.a and replace the one in the Netscape installation directory from the following URL:
ftp://aix.software.ibm.com/aix/efixes/netscape/aix433_libc/
Read and follow the instructions (in the README file) for downloading and replacing the libc.a in your existing Netscape installation.
If you run Netscape from AFS or DFS locations, you might not do it yourself because of lack of write permission to the Netscape directory. If this is the case, contact your AFS or DFS administrator.
Alternatively, there is a new version (4.76i) of Netscape available for download that corrects this problem. You can download and install this version on your local machine. The location for the download is:
ftp://aix.software.ibm.com/aix/efixes/netscape/aix43_installp/
HP-UX
DB2 does not work properly unless the KC_PARAM_DEFAULT parameter is 65535 (114435, 116016.RN)
As noted in the Supporting Software database for WebSphere Application Server at http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html, an HP-UX 11.11 (or 11i) system needs the patches (file sets) HWEnable11i_11.11.depot and PHKL_25368 to run DB2 properly with WebSphere Application Server. However, even with the file sets installed, the value of the msgmax kernel parameter might revert back to its original value of 8192 after a system reboot. When this happens, DB2 does not work properly. The value must be 65535.
HP-UX
Manually set SHLIB_PATH variable on some installations of iPlanet Web server (108778.RN)
On some installations of iPlanet Web server on an HP-UX machine, it is necessary to manually set the SHLIB_PATH variable to /usr/lib before starting the iPlanet Web server with a plug-in configured for Secure Sockets Layer (SSL). For example, in the korn shell, issue the following command before invoking the command to start the iPlanet Web server.
export SHLIB_PATH=/usr/libHP-UX
Secure Sockets Layer-enabled plug-in support (Defect 105995.RN.1, 150859)
The Secure Sockets Layer (SSL) enabled plug-in is not supported on HP-UX with the Apache HTTP Server product.
Other than this combination, the SSL enabled plug-in is supported on the AIX, HP, Solaris Operating Environment, Windows NT, Windows 2000, and Linux platforms for use with the IBM HTTP Server, Apache HTTP Server, Microsoft IIS, Lotus Domino, and iPlanet Web server.
HP-UX
Using Sybase as a repository on an HP machine (Defect 122525.RN)
Using Sybase as a repository is not supported in WebSphere Application Server Version 4.0.1, but is supported in WebSphere Application Server Version 4.0.5. Modify several files before attempting to start WebSphere Application Server using a Sybase repository.
To work around this problem, perform the following steps:
Continue on with the installation.
admin.config setupCmdLine.sh startupServer.sh.
and one file in the <was_root>/properties directory:
initial_setup.config
Following these instructions to modify the files:
a. The admin.config file
Go to the very end of the line that starts with com.ibm.ejs.sm.util.process.Nanny.adminServerJvmArgs= and change the directory for the Java Database Connectivity (JDBC) library. Right after /opt/WebSphere/AppServer/lib/ext is the JDBC library that WebSphere Application Server uses to find the classes it needs. Specify the Sybase directory whichever directory is specified, for example, /opt/sybase12/jConnect-5_2/classes/jconn2.jar.
For the line that starts with com.ibm.ejs.sm.adminServer.dbdataSourceClassName=, you need to specify com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource. Note that this information is case sensitive. If you selected DB2 as your database, the com in the class name would be in upper case. Make sure that you change it to lower case for Sybase.
For com.ibm.ejs.sm.adminServer.dbserverName, select the host where the database is installed.
For com.ibm.ejs.sm.adminServer.dbportNumber, choose the port for the database. The default for Sybase is 4100.
b. The setupCmdLine.sh file
Change the following environment variables to:
DBDRIVER_JARS=/opt/sybase12/jConnect-5_2/classes/jconn2.jar DBDRIVER_PATH=/opt/sybase12 DBTYPE=Sybase DB_INSTANCE_HOME=/opt/sybase12
c. The startupServer.sh file
Add the following line to the section where the script checks to see what database type is specified.
elif [ "${DB_TYPE}" = "Sybase"]
then
{ DB_CLASSPATH=$DB_INSTANCE_HOME/jConnect-5_2/classes/jconn2.jar }
d. The initial_setup.config file
In this file, there are several lines that start with <config-file>, several of which are commented out because they are database specific. Comment out the line that is specific to the database type that you installed with and uncomment the line for Sybase. The line for Sybase is similar to the following: <config-file>/opt/WebSphere/AppServer/bin/ImportSamplesConfigSybase.xml</config-file>
The rest of the XML is similar to the following:
<variable> <name>XMLConfigDTDLocation</name> <value>/opt/WebSphere/AppServer/bin</value> </variable> <variable> <name>serverName</name> <value>Default Server</value> </variable> <variable> <name>dbPrefix</name> <value></value> </variable> <variable> <name>jdbcDriver</name> </opt/sybase12/jconnect-5_2/classes/jconn2.jar> </variable> <variable> <name>repositoryDBName</name> <value>WAS</value> </variable> <variable> <name>pslash</name> <value>$(PSLASH)</value> </variable>
If you receive an error similar to:
An error occurred converting UNICODE to the charset used by the server. Error Message: java.io.CharConversionException: java.io.Unsupported Encoding Exception : hp-roman8
You need to set the charset that you want WebSphere Application Server to use. Modify the <install_root>/bin/admin.config directory and add com.ibm.ejs.sm.adminServer.dbconnectionProperties=CHARSET=utf8; CHARSET_CONVERTER_CLASS=com.sybase.jdbc2.utils.TruncationConverter; where utf8 is the character set that you want to specify. The setting should all appear on one line, not broken into two lines as shown here.
Linux
Set the DB2 database on a remote machine when using the Trade 2 application (132820.RN)
Due to the limitations of the Linux kernel, create the application server database on a remote database server to avoid the out of memory errors that are generated in the stderr.log file when using business applications. (For example, Trade 2 Application with DB2.) If possible, create the WebSphere Application Server administrative database on a remote database server to facilitate a better long run environment.
Perform additional configuration steps to ensure DB2 is working properly and can connect to the trade application on the WebSphere Application Server. For instructions on how to use a database remotely, refer to WebSphere Application Server Version 4.0 InfoCenter article: Configuring the database manager to use TCP/IP to connect to WebSphere remotely and article: Configuring DB2 UDB on Linux.
The message broker never completes starting for the WebSphere Application Server MQSeries SuSE V7.2 on a Linux platform. When issuing the strmqbrk -m <Queue Manager> command, it never completes. Also, the command cannot be interrupted with CRL-C. If you check the status of the message broker with the dspmqbrk command, the result is similar to:
"MQSeries message broker for queue manager <Queue Manager> starting."
Linux SuSE 7.2 by default does not have the group ID nobody which is required by MQSeries. If you experience the problem as described, halt all MQSeries processes and create the group ID nobody. You are able to start the message broker.
Linux
Communication problems between Linux nodes (Defect 148581)
On some Linux installations, WebSphere Application Server Version 4.0.x might have difficulty communicating between nodes. In particular, the difficult communicating between nodes affects the ability of the administrative console to control the remote WebSphere administrative servers.
The cause is due to the way some Linux distributions configure the /etc/hosts file to map the host name to the loopback port instead of the external Internet Protocol (IP) address.
If you encounter communication problems between nodes, update the /etc/hosts file to map the host name to the proper external IP address, for example:
127.0.0.1 localhost 9.x.x.x yourhostname.yourdomain yourhostname
When you install the WebSphere Application Server Advanced Edition Version 4.0.x on the German SuSE Linux 7.3 platform following the Choose Location panel, the installation wizard displays a message "datei nicht" and the installation cannot continue.
To work through this problem, install WebSphere Application Server Advanced Edition Version 4.0.x using the English locale instead of the German one. Once the installation is completed, change the locale to the German locale by issuing the command export LC_ALL=de_DE and export LANG=de_DE.
Linux
Configuring Netscape Version 4.7.6 on SuSE (104266)
If you install WebSphere Application Server Advanced Single Server Edition with SuSE Version 7.1 and Netscape Version 4.7.6, you must change the following Netscape configuration values for the tree view on the left side of the administrative console to display properly:
http://your_machine_name:9090/admin
.When running Apache HTTP Server on RedHat 7.1 Linux systems with the plug-in configured for Secure Sockets Layer (SSL), before starting Apache you must set the LD_PRELOAD environment variable to the following value:
/usr/lib/libstdc++-libc6.1-1.so.2
For example, if you are using the korn shell, you enter the following before starting Apache HTTP Server:
export LD_PRELOAD=/usr/lib/libstdc++-libc6.1-1.so.2
Linux
Oracle 8i lacks the Java Database Connectivity 2.0 driver classes12.zip (115823, 115823.RN)
The Oracle 8i distribution does not provide the Java Database Connectivity (JDBC) 2.0 driver file classes12.zip for Linux platforms. As a workaround, download the Solaris classes12.zip file from the Oracle Web site:
Note: You can use the Java thin driver only and any attempts to use the OCI (thick) driver result in errors. For more information on the problem, contact Oracle Technical Support.
Due to a Linux kernel defect in kernels less than 2.4.10, the floating stack support in the IBM Software Development Kit does not work correctly on an SMP machine. To apply WebSphere Application Server Version 4.0.5 on an SMP machine, the kernel needs to be >= 2.4.10 and glibc needs to be = 2.2.4. Please check with your distribution provider for kernel and glibc upgrades.
In the case of RedHat, the user can set the environment variable LD_ASSUME_KERNAL=2.2.5 by exporting LD_ASSUME_KERNEL=2.2.5. That variable enables a modification made by RedHat to disable floating stack support and allows the IBM Software Development Kit to work to default to a non-floating stack mode which will work on pre 2.4.10 kernels. Note: Setting that variable does not make the programs assume they are running on a 2.2 kernel. It merely disables the floating stack features.
Uniprocessor machines are unaffected by this kernel defect.
Solaris Operating Environment
Minimizing installation window causes failures (Defect 121011)
When installing WebSphere Application Server V4.0 , if you minimize the installation window and again maximize it, the installation option panel gets hidden behind Installation Window. This is a known problem with motif on Solaris Operating Environment and IBM Software Development Kit window tooling.
If installation window is minimized, resize it or click Alt + F3 upon restoration to view the Install Option panel again.
Solaris Operating Environment
Exception returned at startup on the Solaris Operating Environment 2.8
with Domino Web Server and the plug-in configured for Secure Sockets Layer (106012.RN)
On Solaris Operating Environment 2.8 systems running the Domino Web Server with the plug-in
configured for Secure Sockets Layer (SSL), the server has an exception at startup.
This results from some incompatibilities with Domino and C++
code.
Solaris Operating Environment
Installing DataDirect SequeLink server on the Solaris Operating Environment (109652)
The install.sh script from the DataDirect SequeLink Server 5.1 CD-ROM for the
Solaris Operating Environment systems contains the statement which NISCAT
, which could cause the script to fail
for some systems.
This script assumes that this module is available on every Solaris Operating Environment system. If you run the install.sh script and it fails on this command, remove the command and the DataDirect SequeLink Server should install correctly.
Windows 2000
Windows NT
Cannot install WebSphere Application Server with iPlanet 6.0.1 (Defect 132342.RN)
You cannot completely install WebSphere Application Server Version 4.0.1 with iPlanet 6.0.1.
Using the following steps to work around this problem:
Windows 2000
Cannot use /WSsamples with a Domino Web Server (Defect 131884)
If you attempt to access http://<host name>/WSsamples/index.html when using a Domino Web Server, you receive the following error message:
Exception and or log files and location relevant to defect: 404 error in browser
To work around this problem, complete the following steps:
See the Domino Help files for additional information about how to configure URL redirection.
Windows 2000
Windows NT
WebSphere Application Server installation program does not update the Windows system path
with the GSK library path when IBM HTTP Server is not installed (114353.RN)
If you are installing WebSphere Application Server onto a Windows platform using the Custom installation option and choose not to install IBM HTTP Server, you must manually add the path for the GSK library to the system path. This is only necessary if you want a Web server plug-in other than the IBM HTTP Server plug-in to communicate with the application server using Secure Sockets Layer (SSL). After adding the path, reboot your system so that the plug-in is loaded into the Web server properly. The GSK is installed on the C: drive, in which case you add C:\Program Files\IBM\gsk5\lib to the system path.
Windows 2000
Windows NT
Using iPlanet Web server requires specific Windows user ID and rights (110672)
Before installing and testing iPlanet Web server, Enterprise Edition 4.0, ensure that your machine is using the same administrative ID that WebSphere Application Server uses and that the rights of the ID user include the advanced user right "Act as part of the operating system." To check and set user IDs and user rights, go to the User Manager. (On Windows NT, select Start > Programs > Administrative Tools (Common) > User Manager.) The Windows help provides information on the User Manager.
You can apply a new system property in the admin.config file to configure the Generic Servers NodeStartState. The new property is com.ibm.ejs.sm.adminServer.GenericServerNodeStartState = [Current|Running|Stopped].
To apply the new property, add the following text to the admin.config file:
# NodeStartState of generic servers: [Current|Running|Stopped]
com.ibm.ejs.sm.adminServer.GenericServerNodeStartState = (NodeStartState)
NodeStartState options:
Current: Each generic server is in its last state prior to Node restarts.
Running: Each generic server is in Running state regardless of last state.
Stopped: Each generic server is in Stopped state regardless of last state.
The new property applies to generic servers as a whole. The property specified affects every generic server created on the Node. The property does not affect generic servers created on other Nodes.
UNIXIf you are on a UNIX platform, as an option, you can enable the startupServer.sh script to do additional monitoring of the nanny and administrative server processes. To enable this function, add the following property to the admin.config file:
com.ibm.ejs.sm.adminServer.forceReconnect=true
Setting the property activates the additional monitoring. Setting the property to any value (not just true) also causes the administrative server to always attempt to connect to the running application servers instead of always restarting them. When this property is set to true, the startupServer.sh script does the following:
If this property is not set, the administrative server only tries to reconnect to running application servers when it is restarted by the nanny process, or if it is started by the adminserver.sh script.
Do not set the com.ibm.ejs.sm.adminServer.forceReconnect property if you are running multiple instances of WebSphere Application Server on a single system.
Note: This new function is not available for HP-UX 11.
Back to installation and configuration
Back to possible problems and suggested fixes
If you install applications into the WebSphere Application Server Advanced Single Server Edition after installing Version 4.0 FixPak 5 and later uninstall FixPak 5, the server-cfg.xml file is restored to the configuration existing prior to the installation of FixPak 5 and you are able to use your applications. To preserve your applications added after the installation of FixPak 5, do the following:
If you uninstall FixPak 5 of WebSphere Application Server Version 4.0 and have Java2 Security enabled, you must remove the Java virtual machine (JVM) Java2 properties from the server settings or change the JVM Java2 property Enable Java2 Security setting to false before attempting to start the application server. If you do not remove the Java2 properties or set the Java2 Security property to false, the application servers will not start. If you previously installed FixPak 2, FixPak 3 or FixPak 4 and only removed FixPak 5, then you do not need to make these changes and the Java2 Security enabled servers should start normally.
If you attempt to uninstall the WebSphere Application Server on a Linux platform as a non-root user, the following error messages display:
Error trying to calculate for /opt/WebSphere/AppServer/properties/sas.server.props Error trying to calculate for /opt/WebSphere/AppServer/properties/sas.client.props
To avoid the errors, log in with the root
user ID and try
uninstalling the product again.
After you uninstall WebSphere Application Server, if you cannot restart the iPlanet Web server or the Apache HTTP Server, the problem might be that the uninstall program did not remove the plug-in information from the obj.conf file.
To work around this problem for iPlanet, remove the following lines from the obj.conf file:
Init fn="load-modules" funcs="as_init,as_handler,as_term" shlib="full/path/to/module" Init fn="as_init" bootstrap.properties="full/path/to/plugin/config/file" Service fn="as_handler"
To work around this problem for Apache, remove the following lines from the httpd.conf or srm.conf file:
LoadModule app_server_http_module full/path/to/module Optional AddModule mod_app_server_http.c WebSpherePluginConfig full/path/to/config
Then, restart the server.
Back to uninstallation
Back to possible problems and suggested fixes
AIX
Linux
Solaris Operating Environment
If the current system configuration contains VirtualHost entries with duplicate aliases and you are migrating to WebSphere Application Server Advanced Edition (running WASPostUpgrade manually), an error is logged by XMLConfig.
This condition causes WASPostMigration to report an error and the transport plug-in information is not generated. However, all migration configuration is imported successfully. Check to see if the duplicate alias information is indeed a problem and if so, correct it. Perform GenPluginCfg manually to update the transport information.
This error is also logged in the administration server if migration was done as part of the installation process and if the duplicate alias does not cause a problem.
When migrating from WebSphere Application Server Version 3.0.x to WebSphere Application Server Version 4..0.x, add the dependent class path entries of the node to each application server class path if the entries are applicable and not already included as entries on the class path of the application server.
If you are passing the java.math.BigDecimal class between two different WebSphere Application Server domains and you migrate one of the domains to WebSphere Application Server Version 4.0.4 with IBM Software Development Kit 131, you might have problems. The reason is that the java.math.BigDecimal class was modified in IBM Software Development Kit.
IBM Software Development Kit 131 and the object request broker (ORB) on older versions of WebSphere Application Server might not be able to handle the differences. There are no problems passing this class between WebSphere Application Server Version 4.0.4 and WebSphere Application Server Version 3.5.6.
There are fixes for the ORB in WebSphere Application Server Version 3.5.5, WebSphere Application Server Version 4.0.1, and WebSphere Application Server Version 4.0.2 to enable the ORB to handle the differences in the java.math.BigDecimal class in IBM Software Development Kit 131 and IBM Software Development Kit 130 or IBM Software Development Kit 122. The fix for WebSphere Application Server Version 3.5.5 is PQ60335. The fix for WebSphere Application Server Version 4.0.1 is PQ60336. The fix for WebSphere Application Server Version 4.0.2 is PQ60336.
The fixes for WebSphere Application Server Version 3.5.5, Version 4.0.1 or Version 4.0.2 are also required if your own code passes a class between WebSphere Application Server Version 4.0.4 and an earlier level of WebSphere Application Server and that class has a different version on the two WebSphere Application Server domains.
Note: This applies to the IBM Software Development Kit on all operating systems except the Solaris Operating Environment.
If the following error messages are found in the WASUpgrade.log file when migrating from WebSphere Application Server Version 3.5.x. Standard Edition to WebSphere Application Server Version 4.0.x.:
MIGR0206E: Unable to copy directory. The source /usr/WebSphere/AppServer/ deloyedleEJBs does not exist.
MIGR0206E: Unable to copy directory. The source /usr/WebSphere/AppServer/ deployedEJBs does not exist.
These error messages cause the WASPreUpgrade.log file to indicate that migration has failed. You can ignore the migration failure message and these error messages.
When migrating from WebSphere Application Server Version 3.x to Version 4.0.x, the document root and class path attributes of Web applications Version 3.x are used as pointers to the files that are copied into the WAR file. Migration assumes that these paths are either fully qualified paths or symbolic links. Therefore, when the paths are relative to the working directory on the application server, the files are not copied over into the WAR file.
If migration has not been performed, modify the document root and class path attributes to reflect the fully qualified path or symbolic link using the administrative console.
Perform one of the following methods when migration is run and servlet classes, Java servlet pages (JSPs), and Web resources are not moved to the WebSphere Application Server Version 4.0 environment:
When migrating from WebSphere Application Server Version 3.x to 4.0.x, the migration tool uses the class path attribute of a Web application in 3.x as a pointer to the servlet code for the Web application. The tool normally copies all files found under each path entry into the class or lib subdirectory of the WAR file. Included in the copying are any files that multiple Web applications use that are centrally located, provided that the files are included as a class path entry of the Web application.
For example, if a Web application has the following class path entries, the tool copies all files found under the servlets, utilities and lib directories to the WAR file.
<web-application name="webApp1" action="update"> <classpath> <path value="e:\WebSphere\AppServer\hosts\default_host\webApp1\servlets"/> <path value="e:\utilities"/> <path value="e:\libraries\version2\lib"/> </classpath> <web-application name="webApp2" action="update"> <classpath> <path value="e:\WebSphere\AppServer\hosts\default_host\webApp2\servlets"/> <path value="e:\utilities"/> </classpath>
FixPak 2 of WebSphere Application Server Version 4.0 adds a new command line parameter to the WASPostUpgrade file called -webModuleAdditionalClasspath. This parameter allows you to specify the path and file names of specific files that you do not want copied into the WAR file. Instead, the one or more files specified by the -webModuleAdditionalClasspath parameter are added to the extension of the Web module (ibm-web-ext.xmi) additionalClassPath attribute based on each Web application class path entries. In addition, you can specify directories that contain files you do not want copied into the WAR file. Instead, the directories and any JAR file found in the specified directories or any of their subdirectories are added to the additionalClassPath attribute of the Web module based on the class path entries of each Web application.
Continuing the example above, suppose there is a commonUtilities.jar file under the e:\utilities directory and files under the e:\libraries\version2\lib directory that should not be saved to the WAR files. You can invoke the WASPostUpgrade file by issuing the command below on Windows platforms. (Do the equivalent for UNIX platforms.) As to the command, c:\backup_directory is the migration backup directory and wsnodename is the adminNodeName. Note that the one-line command is shown here on two lines to improve readability.
WASPostUpgrade c:\backup_directory -adminNodeName wsnodename -webModuleAdditionalClasspath e:\utilities\commonUtilities.jar;e:\libraries\version2\libThe commonUtilities JAR file and all files found under the lib directory (and its subdirectories) of the e:\libraries\version2\lib path are not copied to the WAR files. Also, the following entry appears in the ibm-web-ext.xmi file of the Web module for webapp1 migrated to WebSphere Application Server Version 4.0.x:
additionalClassPath="e:\utilities\commonUtilities.jar;e:\libraries\version2\lib" and the following entry appears in the ibm-web-ext.xmi file of the Web Module for webapp2 migrated to Versin 4.0.x:
additionalClassPath="E:\utilities\commonUtilities.jar;"
FixPak 2 for WebSphere Application Server Version 4.0 added clone-only attributes to the list of attributes for server groups.
Refer to InfoCenter article 6.6.22.0: Server group properties to see what attributes are clone-only.
This affects which server group attributes can be updated using XMLConfig. Those attributes that are identified as clone-only are ignored if they are specified.
As a result, when migrating a model-clone to WebSphere Application Server Version 4.0.4 or later, not all server group properties are propagated to each clone.
After migration, manually update each clone to set these types of server group properties. Each clone has its standard output set to stdout.txt and standard error set to stdout.err.
If you plan to migrate from WebSphere Application Server Advanced Single Server Edition to the Advanced Edition, save a copy of the following directories before starting the migration process:
\config \installableApps \installedApps \properties
After the migration is successfully performed by the installation process, restore the mentioned directories back to the Advanced Edition installation directory.
The sas.server.props file contains critical information for the administrative server. Back up the sas.server.props file before migrating.
When the pre-migration process completes, a file named WAS_MIGRATION_TEMP.properties is stored in the /tmp directory and is also stored in the migration backup directory specified during the pre-migration process. If you upgrade the operating system level on this machine, you need to copy this file from the migration backup directory to the /tmp directory. The /tmp directory is emptied during the operating system level upgrade.
The migration process for the WebSphere Application Server Advanced Edition updates the admin.config file in the WebSphere Application Server Version 4.0.x bin directory. One of the side effects of this update is that blank characters and comments are removed from the file during this processing.
After you install WebSphere Application Server, there is a copy of the admin.config file called admin.config.bak in the bin subdirectory. However, this file is erased when the administrative server is started. It is advisable to copy the admin.config.bak file to another name before the administrative server is started. Use this file as a record of the original values in the installed admin.config file.
When migrating from WebSphere Application Server Version 3.0.2.x to Version 4.0.x, the WASPreUpgrade program is run. The program returns java.io.FileNotFoundException messages. The file not found is content-type.properties. Ignore the exception messages.
If you are migrating WebSphere Application Server from Version 3.x to Version 4.0.x
while running the installation program and a severe error occurs
while saving the existing Version 3.x environment, perform the following steps
to migrate the Version 3.x configuration. Note: The steps
are for Windows-based systems; for UNIX-based systems add .sh
to the
command line.
waspreupgrade c:\backup_directory c:\current_3.x.x_WebSphere_directory node name
where node name is the adminNodeName. Note that in some cases the waspreupgrade command might not be totally successful. To ensure that a valid configuration is saved, verify that the file c:\backup_directory\websphere_3x_backup.xml exists. If it does not, then enter the following command from the c:\current_3.x.x_WebSphere_directory directory:
xmlconfig -export c:\backup_directory\websphere_3x_backup.xml -adminNodeName nodename
WASPostUpgrade c:\backup-directory -adminNodeName nodename
A problem might occur after migrating a configuration from WebSphere Application Server Version 3.x to Version 4.0.x relating to the Java Database Connectivity (JDBC) Driver configuration. The problem shows up with an error message similar to:
javax.naming.NamingException: ClassNotFoundException: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
The problem can happen if the data store in use required a prerequisite upgrade and this upgrade is stored in a different directory location than the original data store version. The problem occurs because the JDBC configuration that is defined in the WebSphere Application Server Version 3.x configuration uses drivers from the original data store version and its related directory names. When this configuration is exported and then imported into the WebSphere Application Server Version 4.0.1, the original directory names are used instead of the new data store version.
To correct the problem on WebSphere Application Server Advanced Edition, change the JDBC Driver Server classpath entry to use the new data store directory names in the administrative console under the Resources tree.
To correct the problem on WebSphere Application Server Advanced Single Server Edition, modify the server configuration file in the configuration directory. The default file is server-cfg.xml but you can choose to use a different file. Modifications are required to Resource Provider stanzas to use the correct class path name. For example, if you are using DB2, change the following from:
<installedResourceProviders xmi:id="ResourceProviderRef_3" classpath="/home/ db2inst1//sqllib/java/db2java.zip" resourceProvider="JDBCDriver_3"/>
to:
<installedResourceProviders xmi:id="ResourceProviderRef_3" classpath="/home/ db2inst1//sqllib/java12/db2java.zip" resourceProvider="JDBCDriver_3"/>
The problem also might occur if you migrate and use the same directory structure. As to Windows NT, an old copy of the db2java.zip file remains in your lib directory. That copy is loaded instead of the one pointed to by the JDBC Driver Server class path. The solution is to remove the db2java.zip file in the WebSphere Application Server lib directory.
When migrating a multi-node model-clone domain to WebSphere Application Server Version 4.0.x, the following error displays in the output of the XMLConfig Import when the same EAR file is migrated and installed on nodes other than the first node that is migrated:
XMC0100E: Update action is not supported on this type of object. To reinstall the application, use "delete" action followed by "create" action, on enterprise-application element.
Disregard this error message.
In addition, the Web and EJB module names contained in the EAR file installed on the first node that is migrated are included in the repository. If the Web and EJB module names contained in the same EAR file installed on subsequent nodes through migration do not match, the EAR file installed on the first node that contains those modules must be manually installed and expanded on the node where the names do not match. Complete the following steps: (for Windows NT or Windows 2000; do the equivalent for UNIX platforms):
EARExpander -ear e:\WebSphere\AppServer\installableApps\Big3App.ear -expandDir e:\WebSphere\AppServer\installedApps\Big3App.ear -operation expand -expansionFlags war
where e:\WebSphere\AppServer\installableApps\Big3App.ear is the EAR file you want to expand and e:\WebSphere\AppServer\installedApps\Big3App.ear is the directory in which to expand the EAR file.
An error might occur if multiple ports are migrated for the same application server. Ports with duplicate entries might result. Use the administrative console to modify the port values in the Web Services settings.
When migrating a multi-node model-clone domain to WebSphere Application Server Version 4.0.x, you must manually update the Web server plug-in for each node after the final node is inserted into the domain. To manually trigger an update of the configuration for the WebSphere Application Server plug-in, for each node:
If the following error is seen after completing migration, the server-cfg.xml file does not match up with the EAR file directories included in the installedApps directory:
Exception - No resource for object: com.ibm.ejs.models.base.config.applicationserver.impl.WebModuleRefImpl (uri: ChainTest.war) com.ibm.xmi.base.NoResourceException com.ibm.websphere.migration.exceptions. WASUpgradeInternalErrorException: MIGR0228E: Unable to save configuration files.
To correct this problem, manually delete any EAR directory found under the installed application directory that is not listed as an installedApp in the server-cfg.xml file.
To run WASPostUpgrade more than once after migration has completed successfully and the EAR files are installed in the installedApps directory including a DefaultApplication.ear file, the DefaultApplication.ear file must be uninstalled before invoking WASPostUpgrade. No other EAR files must be uninstalled.
To uninstall the DefaultApplication.ear file, do the following:
The term localhost might be localhost or the host name of the machine on which the product is running.
Examine the properties files trusted servers.properties and webseal.properties installed with WebSphere Application Server Version 4.0 with FixPak 4. With FixPak 3, all references to WebSEAL 3.6 have been changed to WebSEAL. If you have customized these property files, then add those customizations to the files that are installed with the FixPak. Do not continue to use webseal36.properties. Use the common interceptor for WebSEAL Versions 3.6 and 3.7 called webseal.
If you write your own interceptor, ensure that the class file is in the install_root\classes directory and the property files associated with your interceptor are in the install_root\properties directory. Further, ensure that the interceptor class is public and uses a constructor that has no arguments.
Note that any interceptors that support initialization must extend WebSphereBaseTrustAssociationInterceptor. Also, they must continue to implement the TrustedAssociationInterceptor. For example:
public class WebSealTrustAssociationInterceptor extends WebSphereBaseTrustAssociationInterceptor implements TrustAssociationInterceptor
Finally, mutual Secure Sockets Layer (SSL) between WebSeal and the IBM HTTP Server is supported in WebSEAL Version 3.7. Ensure that SSL is set up correctly. WebSphere Application Server does not validate the mutual SSL setup.
When migrating from WebSphere Application Server Version 3.x to Version 4.0.x, the migration tool uses the document-root attribute of a Web application in Version 3.x as a pointer to the .html, .gif, and other files for the Web application. The tool normally copies up to 300 files found under the document-root into the WAR file. If there were more than 300 files under the document-root, the following warning message appears in the WASPostUpgrade log file:
MIGR0250W: Document Root file limit of 300 exceeded. Not all files for Web Application TestWebApp copied to War File TestWebApp.war.
WebSphere Application Server Version 4.0 with FixPak 3 and later provides a new command line parameter to the WASPostUpgrade file called -documentRootLimit. You use use this parameter to specify the number of files that the migration tool copy from under the document-root into the WAR file. The value specified is a valid integer greater than -1. The documentRootLimit file would apply to all Web applications included in the websphere_3x_backup.xml file. If no value is specified, the default is 300 files.
Web resources and enterprise beans that were mapped but not included in a WebSphere Application Server 3.x enterprise application were mapped into one default Java 2 Platform, Enterprise Edition (J2EE) application called DefaultApplication during migration.
In FixPak 4, a separate default J2EE application is created for each application server where there are Web resources and enterprise beans installed but not included in an enterprise application. If the Web resources and enterprise beans are installed on application servers that are included in a model, a separate default J2EE application is created for each model and all Web resources and enterprise beans installed on application servers that are included in the model are mapped to that default application.
The name of the default applications is application server name"_MigratedApp or "model name"_MigratedApp.
WebSphere Application Server 4.0.x cannot run on an AIX 4.3.2 platform. Upgrade to AIX Version 4.3.3 before migrating to WebSphere Application Server Version 4.0.x.
When migrating from WebSphere Application Server Version 3.02 on a Linux platform, an error might occur during pre-migration if JAVA_HOME is not defined in the WebSphere 3.02 setupCmdLine.sh file in the bin directory and the JAVA_HOME value cannot be correctly derived in the WebSphere Application Server 3.02 XMLConfig.sh file in the bin directory. To complete the migration, set the JAVA_HOME setting to a valid value. Modify the JAVA_HOME setting in the WebSphere Application Server Version 3.02 setupCmdLine.sh file to point to a valid IBM Software Development Kit 1.1.x directory to correct the problem and rerun the migration process again.
The format of the systems management database has changed significantly between WebSphere Application Server Version 3.x and WebSphere Application Server Version 4.0.x. If the database name that is used for Version 4.0.x is the same as was used for Version 3.x,then the database must be removed and recreated during the migration process at the same time that prerequisites are updated. It is recommended that you use the default database name of was40.
If you want to migrate from a previous version of WebSphere Application Server on the Solaris 2.6 Operating Environment, you must install all patches required by the IBM Software Development Kit 1.3 product to run the pre-migration process. These patches are listed in the README.sparc file that comes with the IBM Software Development Kit 1.3 product.
When you migrate from a previous version of WebSphere Application Server on the non-English Solaris Operating Environment, the installation program detects the proper installation location of the previous installation when attempting to migrate a Solaris, non-English, native-package that was installed to a location other than the default /opt location.
Back to migration
Back to possible problems and suggested fixes
The application server process for WebSphere Application Server Advanced Single Server Edition does not start, preventing access to the administrative console. As a result, you cannot use the administrative console to correct any configuration problems that might be preventing the server from starting.
To fix this situation:
http://localhost:9091/admin
Alternatively, you can attempt to manually edit the offending server configuration file. You should always make a backup copy before making any manual changes.
WebSphere Application Server fails to start if certain ports are in use. When the bootstrap port is in use, you might see the following error when starting WebSphere Application Server. This error is similar to the "Port 9000 in use error" when starting WebSphere Application Server.
009.765.6005c5b F Nameserver Failed to start the Bootstrap server org.omg.CORBA.INTERNAL: minor code: 8 completed: No
To fix the problem on the Advanced Edition, change the bootstrap port (the default is 900) in the admin.config file, using the property name:
com.ibm.ejs.sm.adminServer.bootstrapPort="901"
If this property does not exist in the file admin.config, add it. For more information, see the WebSphere Application Server Version 4.0 InfoCenter article "6.6.46.0: Administrative server configuration file properties."
To fix the problem on the Advanced Single Server Edition, edit the server configuration file (the default is install_root/config/server-cfg.xml) and change the bootstrapPort value for orbSettings. For example, change
<orbSettings xmi:ed="ORBConfig_1" enable="true" bootstrapHost="localhost" bootstrapPort="900">
to
<orbSettings xmi:ed="ORBConfig_1" enable="true" bootstrapHost="localhost" bootstrapPort="901">
If you cannot start the administrative server because of a Java Database Connectivity (JDBC) problem, the possible reason is that the DB2 environment was not set up correctly. To set up the DB2 environment:
DB2_HOME/sqllib/java12/usejdbc2
DB2_HOME/sqllib/db2profile
After you create the administrative repository database, allow the administrative server to initialize completely before setting the following properties to false:
The properties are in the logging.properties file in the WebSphere/AppServer/properties directory. Use the properties to control various aspects of event logging. If the properties are both set to false before the administrative server starts for the first time after a database is created, the administrative server might return NumberFormatExceptions and fail to initialize.
If the WebSphere Application Server Advanced Edition is installed on an AIX system with a local DB2 server and the following commands (as described in the InfoCenter) were executed previously to configure DB2, the administrative server should start successfully.
Set the EXTSHM environment variable by entering the following commands: $ EXTSHM=ON $ export EXTSHM $ db2set DB2ENVLIST=EXTSHM
Later, when the administrative server is stopped or the system is shut down, DB2 will stop as well. However, when you next back up the system and start DB2, the administrative server might fail with the following error when you try to start it:
Could not initialize persistent storage for serious events. Got exception COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. SQLSTATE=55032
To recover from this problem, enter the above commands that set the EXTSHM environment variable and restart the server.
To prevent the environment variable from being turned off accidentally again, add these three lines of commands to the db2profile file (assuming the db2profile file is sourced using .profile) to ensure the variable is always valid.
Naming service messages are being issued after the nanny service process starts, but before the administrative server starts the Name Services. Although you can ignore these messages, a new admin.config property is added to specify how long to wait on startup before error messages are produced. The directive is com.ibm.ejs.sm.adminServer.startupTime=<time in seconds>.
Back to starting application server components
Back to possible problems and suggested fixes
All operating systems
WebSphere Application Server Version 4.0 with FixPak 3 added an icon to the right of attributes
propagated to all clones on server group property sheets.
The icon is:
Note that the Remove push button is not available to clone system properties on the Java virtual machine (JVM) Setting panel. The only way to remove the properties is to delete the appropriate name-value pair and then click Apply.
For Windows platforms, you can only access HTML help for the Log Analyzer using the default Internet browser of the operating system, even though in the Preferences dialog of the tool there are options that seemingly allow 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 HTML help for the Log Analyzer 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:
Upon starting the Log Analyzer for the first time or after the preferences files of the Log Analyzer have been deleted, you see the following informational message in the shell window of the Log Analyzer:
Cannot open input stream for waslogbrsys
You can disregard the message since it does not affect the execution of the Log Analyzer.
EARExpander no longer collapses utility JAR or .zip
files (Defect PQ61441)
EARExpander no longer collapses utility JAR or .zip files starting at WebSphere Application Server Version 4.0.2 and later.
To work around this problem, you can do one of the following:
To collapse the EAR file, run EARExpander.(bat|sh) -ear <$PATH>\test.ear -expandDir <$PATH>\ ear\test.ear -operation collapse.
If you receive the following message after requesting help on a UNIX platform, your locale might be set to the default C locale.
ADGU2030E: The browser could not start with the command: netscape /opt/WebSphere/AppServer/web/InfoCenter/was/06060200.html. Received return code 255. Verify that you can run the browser from a command line and that access control is disabled.
Do one of the following to work around this error:
To see a list of the valid locales for your machine, run
locale -a
To set the locale, run export LANG=locale
, where locale
is a valid locale. For example, to set United States English, run
export LANG=en_US.iso88591. Set the locale permanently in the profile of the user.
This problem is common on HP-UX and the Solaris Operating Environment but might occur on AIX if the locale is not set properly.
If you receive the ADGU2030E message with a return code of 1
,
verify that access control is disabled. To turn off access control, run
xhost +
Reenter the password value of the data source if you are at WebSphere Application Server Version 4.0.5 and you back up to a previous version.
The default URL provider appears in the WebSphere Application Server administrative client and an XML export of the client on only one node in the cluster. When you click Install New > the other node > Unused, the default URL provider adds a semicolon at the end of the string. However, you cannot see this semicolon at the end of the string.
Currently, there is no workaround for the problem.
You can apply a new option -runatserver to import files from machine A to machine B with XMLConfig. This option is performed through a session bean.
The use of the -runatserver option is not required, in which case the XMLConfig.sh file and the programs it invokes behaves as they did before the new option is applied. If -runatserver is specified as a command line option, the XMLConfig file streams the XML data file to a session bean, which runs the XML file using methods in the XMLConfig file to do the import at the server. The XMLConfig file is used on both the administrative client and the administrative server sides in this scenario. The session bean is configured with TX_BEAN_MANAGED which forces the entire XML file import to be done with one transaction.
You can issue the following command to apply the -runatserver option in
XMLConfig (WebSphere Application Server Advanced Edition):
[-runatserver {yes|no}[-timeout <# seconds>] [-retry <retrycount>]]
, in which:
Back to administrative console (GUI) and command line tools
Back to possible problems and suggested fixes
Solaris Operating Environment
The following changes are available for application classloaders. These changes are transparent to most applications.
Application servers that have a module visibility setting of module can hang during startup or run time. Restarting the application server might circumvent the problem. To avoid the problem completely, change to use a Module visibility setting of Application, Server, CompCompatibility or the Java 2 Platform, Enterprise Edition (J2EE).
The following document states the corrections to classloader:
You can choose to assign a static TCP IP port to Dr. Admin thread for the application server by adding -DdiagThreadPort= command line argument to the application server Java virtual machine.
If you receive the following error messages, the wscp tool cannot deploy the WAR application remotely. To deploy the application, move the application WAR file to the target or remote application server machine (instead of the local client machine) and invoke the wscp client from that machine.
"WSCP0086E Exception installing EnterpriseApp" "WSCP0106E Could not get RemoteArchiveInfo..."Selecting the Java Message Service resources during the WAR file installation (Defect 147469.RL)
During the WAR file installation, selecting the Java Message Service (JMS) resources that are defined under the Resource Provider.
After applying WebSphere Application Server Version 4.0.4, the plug-in configuration file (plugin-cfg.xml) is changed. This change results in some URI names being omitted and a "/*" is placed in the URI group instead. For example:
UriGroup Name="xxxxxxxxxxx/xxxxxxx/xxxxx" <Uri Name= "*.jsp" /> <Uri Name= "*.jsv" /> <Uri Name= "*.jsw" />
UriGroup Name=xxxxxxxxxxxxx/xxxxxxxxx> <Uri Name= "/*" />
Prior to Version 4.0.4, the FileServingEnabler through the Application Assembly Tool (AAT) has no effect when requesting static resources through the Web server plug-in. The original plug-in regeneration code ignores the FileServingEnabler flag for the context root of a slash "/" and does not add the servlet mapping of a "/*".
You might not realize that it was enabled even if you enable FileServing for the context root of a "/".
The reason for this change is as follows:
However, this is the case only for the context root of a "/". All other Web applications add the rule context root if FileServing is enabled. Or, the Web applications list out each individual URI mapping if FileServing is not enabled. This makes the URI mapping rules consistent for all context roots instead of having a special case for the default context root of a "/".
The reason for not listing each URI mapping for a particular context root when FileServingEnabled is to reduce the search path. When the plug-ins already know if a request starts with the /contextRoot/, then it is forwarded to WebSphere Application Server to handle the request. If the FileServing is not enabled, each servlet mapping needs to be added to the file plugin-cfg.xml to ensure that only those matches are handled by WebSphere Application Server.
If you have a Web application with the context root of a "/" with FileServingEnabled, the Web server no longer requests service and makes WebSphere Application Server the handler of all requests if the virtual host mappings are matched.
You can test this using following steps:
contextRoot/*.jsp contextRoot/j_security_check
On the Solaris Operating Environment, an application server might crash while under stress with a "java.lang.OutOfMemoryError", which is visible in the stderr.log file of the application server.
To prevent this error, pass an appropriate maximum permanent heap size value to the Java virtual machine (JVM), as the default is too low. The current suggested value is 64 MB.
Perform the following steps to make this change in the administrative console:
Solaris Operating Environment
Performance problem when processing Java Database Connectivity ResultSets
on the Solaris Operating Environment (Defect 144271.RN)
When running an application in a WebSphere Application Server on the Solaris Operating Environment, and the application processes large ResultSets, slower performance could be observed when running the same code in a standalone application.
To work around this problem, add the Sun JDK 1.3 HotSpot -client option to the application server Java virtual machine (JVM) configuration.
See the article 9.1: Tuning Guide > Sun JDK 1.3 HotSpot -server warmup in the InfoCenter of IBM WebSphere Application Server Version 4.0 Advanced Edition for more information on using -server versus -client option.
This problem is caused by a bug in the JVM.
Bug ID Synopsis Date 4490353 Server VM much slower than Client VM in JDK 1.3.1 and 1.4.0-beta 6 Mar 2002
This bug is fixed in Sun JDK 1.3.1_04-b02. Contact support to get this version. If you have used the workaround, remove it to go back to the default setting for the application server.
Back to application server
Back to possible problems and suggested fixes
The framework in the Application Assembly Tool (AAT) used for editing and verifying the Java 2 Platform, Enterprise Edition (J2EE) archives uses custom class loaders for Java reflection within the archive. In some situations, the class loader behavior in the AAT is not consistent with the behavior in the run time. For example, you might receive validation errors when a class cannot be reflected. Or, you might encounter reflection problems or linkage errors when saving the archive.
These class loading errors result from one of two problems:
To avoid the class loading errors, correct these two problems.
When you do the following in the Application Assembly Tool:
You cannot drag the WAR file. To work around this problem, import the file (Ejb .jar/Web Module .war/Ejb client .jar) from the new application window tree node.
When starting the Application Assembly Tool of the WebSphere Application Server Advanced Edition
by entering assembly.sh
on an AIX platform, a java.lang.OutOfMemoryError exception
might be returned. To resolve this problem, try adding the -mx192m option to
the Java command line in the assembly.sh file. The resulting Java command line should
resemble:
$JAVA_HOME/jre/bin/java \ -Xmx192m \ -Dcom.ibm.itp.location=$WAS_HOME/bin \ -Dserver.root=$WAS_HOME \ -Dws.ext.dirs=$WAS_EXT_DIRS \ -classpath $WAS_CLASSPATH com.ibm.ws.bootstrap.WSLauncher \ com.ibm.ejs.assembly.gui.AssemblyTool
If you access any of the WebSphere Application Server tools from a remote machine
(for example, the Application Assembly Tool), note that the remote browser cannot
display the help files remotely. You can only view the help files from a locally installed browser.
Close all the Netscape sessions on the remote machine and click Help, to start
a new Netscape session. You can then view the Help text.
A new feature is added to allow a resource (JavaServer Pages and static) to be shared
across the Web application archives (Defect PQ65763.RN)
To allow a resource (JavaServer Pages (JSP) and static) to be shared across the Web application archives, WebSphere Application Server has created servlet initialization parameters for both the FileServingEnabler and JSP processor allowing the developer to specify a comma-delimited list of directories, the JAR files, or both as search paths if the requested resource cannot be located in the public document tree of the Web application archive.
You can enable this new feature through the Application Assembly Tool (AAT) as follows:
Note: Value accepts a comma separated list that can mix both option 1 and option 2.
The following is a sample ibm-web-ext.xmi file demonstrating how this feature is enabled for an application that is deployed.
parameter name = extendedDocumentRoot
parameter value = Web application archive relative or absolute path to resource
<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="WebAppExtension_2" reloadInterval="5" reloadingEnabled="true" defaultErrorPage="error.jsp" additionalClassPath="" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"> <webApp href="WEB-INF/web.xml#WebApp_ID"/>> <jspAttributes xmi:id="JSPAttribute_1" name="keepgenerated" value="true"/> <jspAttributes xmi:id="JSPAttribute_2" name="largefile" value="false"/> <jspAttributes xmi:id="JSPAttribute_3" name="extendedDocumentRoot" value="testcase.jar,my-test.jar,my-test.war/WEB-INF/lib/war_level.jar"/> <fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot" value="testcase.jar,my-test.jar,my-test.war/WEB-INF/lib/war_level.jar"/> </webappext:WebAppExtension>
The new feature has the following limitations:
Back to Application Assembly Tool (AAT)
Back to possible problems and suggested fixes
Read the problems and fixes that apply to the type of entity bean used:
Dynamic reloading to update class for an enterprise bean is not available in WebSphere Application Server Version 4.0.4. If you want to update the implementation class for an enterprise bean, perform the following steps:
A significant performance improvement was introduced in WebSphere Application Server Version 4.0.2, which led to a change in the semantics for prepared statement cache in WebSphere Connection Pooling (Defect PQ53331 and 115405). But the improvement has changed the meaning of " Prepared Statement cache size" (Statement cache size).
In previous versions, this value signified the total maximum number of prepared statements that would be cached in the data source or Pool. In this and later FixPaks, the value still represents the number of prepared statements per datasource, but the number is now divided by the number of connections, giving you a number of prepared statements per connection. If the number of prepared statements is less than the number of connections, a minimum of one per connection is allocated. For example, given 100 prepared statements, and 50 connections, you will have two per connection, and given 10 prepared statements and 50 connections, you will have one per connection. You might want to adjust the statement cache size. The default statement cache remains 100, and depending upon your connection pool size, this might be reasonable. For larger pool sizes, the statement cache size might need to be increased.
In WebSphere Application Server Version 4.0.x, set the statement cache size from the Connection Pooling tab of the Data Source, it has its own filed, named Statement cache size.
If the isolation level on the enterprise beans is set to Repeatable Read (RR), which is not supported on Oracle, WebSphere Application Server upgrades the isolation level to Serializable as a safe option. However, Oracle has a restriction that XA cannot run with serializable. The following error message appear in the Oracle traces:
joxasStart(): Got a 'C' error:24776 jojniStart(): err = 24776
WebSphere Application Server throws a StaleConnectionException exception.
To avoid getting this error message, do not use the RR or Serializable isolation levels on any of the bean methods when using XA.
When compiling an EJBModule that has CMP-based entity beans which use primitive primary keys, you might get an error message similar to the following:
Compiling content of ejbModule/com/ibm/ejb/cb/samples/big3/tier2 (12 problems found) Copying all resources on the class path (12 problems found) Build done Java build completed Invoking Validation on /Big3BRB.jar. ejbModule/com/ibm/ejb/cb/samples/big3/tier2/EJSCMPClaimHomeBean.java(62): The constructor java.lang.Integer() is undefined ... ejbModule/com/ibm/ejb/cb/samples/big3/tier2/EJSJDBCPersisterCMPPolicyBean.java(197): The constructor java.lang.Integer() is undefined Shutting down workbench. Execution Halted: Compilation Errors Reported 12 Errors, 0 Warnings, 0 Informational Messages
Compilation halted because the deployment descriptor specified used a primitive object key (java.lang.Integer) but did not specify a key field to which the deployment descriptor should map. It was left as a compound key. Therefore, the deployment tool did not know which field to use as the key and returned the error messages.
As to the generated deployment descriptor in the above example, the <prim-key-class> element was set to java.lang.Integer but there was no <primkey-field> element specifying which <cmp-field> element should map to the primary key.
The solution is to use the Application Assembly Tool to specify which key field (other than compound key) should be used or to manually edit the file ejb-jar.xml and add the <primkey-field> elements.
A javax.ejb.FinderException occurs when a finder method is called for an entity bean with CMP and the finder is defined incorrectly. This failure occurs when the finder returns more than one EJB object (returns either a java.util.Enumeration or a java.util.Collection) and the finder logic is encapsulated in a string constant named findMethodNameQueryString. The failure occurs because the SQL select statement encapsulated by the Java string constant is incorrect. Either the encapsulated SQL select statement does not include a complete list column names for each of the CMP fields, or the list column names does not appear in the order required to successfully hydrate the entity bean. The following is an example of the error that occurs when the encapsulated SQL select statement does not include all required column names:
ERROR: javax.ejb.FinderException: com.ibm.ejs.persistence.EnumeratorException original exception: com.ibm.ejs.container.ContainerInternalError:; nested exception is: COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBCDriver] CLI0610E Invalid column number. SQLSTATE=S1002
Note: Encapsulating the logic in a string constant named findMethodNameQueryString has been deprecated. What follows describes how to correctly create the finder logic in a EJB server so that the failure and similar failures do not occur.
Creating finder logic in the EJB server
For the EJB server environment, the following finder logic is required for each finder method (other than the findByPrimaryKey method) contained in the home interface of an entity bean with CMP:
As an example, suppose the AccountHome home interface defines the following finder method:
Enumeration findLargeAccounts(float amount) throws RemoteException, FinderException;
You must also create the AccountBeanFinderHelper interface as follows:
public interface AccountBeanFinderHelper { String findLargeAccountsWhereClause = "balance > ?"; }
You can use the Application Assembly Tool to define the finder logic as well. For each CMP entity bean, select your entity bean and Method Extensions choice in the tree view of the Application Assembly Tool and set the Finder descriptor for each finder method. Using the Full select radio button is not recommended because it can easily result in the javax.ejb.FinderException being thrown when the required list and order of column names is not used. Use the Where clause radio button to obtain the correct list of column names and order.
Back to enterprise beans
Back to possible problems and suggested fixes
All operating systems
UNIX
HP-UX
When upgrading to GSKIT release 4.0-3.116, the following additional default signer certificates are added to the IKEYMAN database if one is newly created:
Verisign Class 1 CA Individual Subscriber-Persona Not Validated
Verisign Class 2 CA Individual Subscriber-Persona Not Validated
Verisign Class 3 CA Individual Subscriber-Persona Not Validated
If you have a valid certificate that is in the same category as one of the above default certificates, then you need to remove the default certificate before you try to install your certificate.
If you use WebSphere Application Server Advanced Edition and enable global security on an HP platform, start the administrative server using the ./startupServer.sh script (not the ./adminserver.sh script). In some cases, using the ./adminserver.sh script causes the administrative console to hang.
Assigning a large number of users or groups (greater than 5000) to a role might fail (in the Security Center).
When possible, assign roles to groups. There typically are fewer groups than users. Also, this improves performance during server startup and during the authorization check.
Secure Sockets Layer (SSL) settings are managed by the administrative console. Any editing changes made to the following properties in the sas.server.props file are overwritten at run time.
After you enable security, you cannot access enterprise beans spread across other nodes. The error throws authorization failed exceptions and CORBA TRANSACTION_ROLLBACK exceptions. To work around this problem, ensure all the nodes involved are in the same time zone.
Corruption of the sas.server.props file might cause the administrative server to fail to start. The sas.server.props file contains critical information for the administrative server. Back up the sas.server.props file regularly.
If you are using cryptographic devices on WebSphere Application Server Version 4.0.3, you must redo the steps described in the $WAS_HOME/java/docs/jsse/readme.jsse.ibm.html directory to update the native libraries to the latest level after installing FixPak 4. This process is required due to an update to the Java Secure Socket Extension (JSSE) level included with this FixPak. A new JSSE level is available in WebSphere Application Server Version 4.0.5.
When using Lightweight Third Party Authentication (LTPA) for authentication, the cookies are set with a domain name and a URL without fully qualified host name will not receive this cookie. The form based login will take you back to the login screen. Make sure to specify the domain name as http://server.ibm.com in the URL.
When trying to update WebSphere Application Server to use the Secure Sockets Layer (SSL) port (usually 636), you get authentication errors in the administrative console after clicking Apply to update security configurations in the security center.
These errors occur because of a known Microsoft problem that prevents WebSphere Application Server from connecting over SSL with Active Directory when Active Directory is remote. Refer to Microsoft article Q320711: "Accessing Active Directory with Lightweight Directory Access Protocol (LDAP) by Using Sun Java Naming and Directory Interface (JNDI) Calls May Not Work."
Alternatively, WebSphere Application Server can connect if it is running on the same machine as Active Directory.
To connect WebSphere Application Server to a local Active Directory over SSL, follow these steps:
Preliminary steps:
WebSphere Application Server steps:
If you install Domino 5.09a Lightweight Directory Access Protocol (LDAP) security, set the default filter in LDAP registry properties to be objectclass=Person instead of objectclass=dominoPerson. Select the directory type to be the Domino 4.6 from pull-down menu of the Authentication section of the security center folder.
In the multi-server scenario with security is enabled, when one or more servers restart for any reason, the existing servers cannot reconnect to the restarted server correctly.
The remote method invoked on the restarted server fails and the existing server appears to be in a hung state.
The reason for this behavior is that when the server restarts, it reassigns a new port to itself; however, the existing server cannot detect the new port. The existing server still tries to connect to the last known port of the restarted server, which causes the connection to time-out.
For the Workload Management (WLM) failover to function correctly between multiple nodes with security enabled, you need to assign fixed ports to the administrative server and all application servers on each node in the domain. The server starts on the same hard coded ports every time. Perform the following steps to work around:
com.ibm.CORBA.ListenerPort=2000 com.ibm.CORBA.SSLPort=2001 com.ibm.CORBA.LSDPort=9000 com.ibm.CORBA.LSDSSLPort=9001
com.ibm.CORBA.ListenerPort=3000 com.ibm.CORBA.SSLPort=3001
Note: These configuration is not required if security is not enabled.
When using WebSphere Application Server with login IDs containing at least one double-byte character set (DBCS) character, a property must be added to both the administrative server and the application server.
To add the property to the administrative server, edit file <was_root>/bin/admin.config and add line com.ibm.CORBA.ORBCharEncoding=UTF8
Complete the following steps to add the property to the application server:
Domino server 5.0.9a Secure Sockets Layer (SSL) connections could fail after an indeterminate amount of time. The problem can occur on all UNIX platforms.
At some point the Domino server decides that a valid SSL certificate is not valid and does not allow all subsequent secure connections. This occurs when the Domino Web Server is under stress and is caused by a time conversion routine that is not thread safe. Messages similar to the following appear in the Domino server console output at the first sign of failure:
07/18/2002 03:22:27 PM HTTP server: Certificate begin date is after current date 07/18/2002 03:22:27 PM HTTP server: Security administration system error 07/18/2002 03:22:27 PM HTTP server: SSL session not started for 9.42.73.160
To fix this problem, contact the Domino server customer support and refer to SPR SUI5BALNA.
WebSphere Application Server security only supports the HP-UX platforms with non-trusted mode. HP-UX platforms with trusted mode are not supported.
When extending the WebSphereBaseTrustAssociationInterceptor and implementing the init() method to create a Trust Association Interceptor, the integer return code is ignored. No return values are currently defined and documented for the Trust Association Interface.
You receive an authorization failure (HTTP response code 403) when using RequestDispatcher.forward( ) to forward from an unprotected servlet or JavaServer Page (JSP) to a protected one. Section 12.2 of the servlet 2.3 specification states that the security model does not apply when using a RequestDispatcher.
To resolve this problem, the URI which invokes RequestDispatcher.forward( ) has to be protected. This prepares the application for migration to WebSphere Application Server Version 5.
If this is not possible, then setting the following property on each application server yields a challenge when forwarding from an unprotected URI to a protected one:
com.ibm.ws.security.RequestDispatcherChallenge=true
Code implementing this property is contained in any security cumulative fix dated 1/06/2003 or more recent.
Back to security
Back to possible problems and suggested fixes
If you are running WebSphere Application Server on a cluster of two Sun Solaris machines, you are unable to propagate a Java virtual machine (JVM) system property from the server group to the clones. For WebSphere Application Server Version 4.0 with FixPak 2 and later FixPaks, the system properties has changed to a clone-only attributes. The system properties are not propagated to the clones, but you can add or modify the properties in the clone attributes.
Back to managing workload
Back to possible problems and suggested fixes
All operating systems
Linux
When running WebSphere Application Server with Apache (1.3.19-40) that is provided with SuSE SLES 7.0 (Linux for Z/OS), use the non-EAPI compiled WebSphere Application Server plug-in, even though this particular Apache version is Extended Application Programming Interface (EAPI) compiled.
When configuring the Apache httpd.conf file, change the following line:
LoadModule app_server_http_module opt/WebSphere/AppServer/mod_app_server_http_eapi.so
to
LoadModule app_server_http_module opt/WebSphere/AppServer/mod_app_server_http.so
When you start Apache with the non-EAPI module, the following warning appears:
[warn] Loaded DSO /opt/WebSphere/AppServer/bin/mod_app_server_httpd.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with DEAPI)
In this situation, you can ignore the warning.
Linux
Unable to create certificate request with IBM HTTP
Server (Defect 138035.RN)
If you are on a Linux/390 machine, running command line IKEYMAN (IKEYCMD), you might receive the following error message:
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBunde. key GSKKM_<some option>.
For example, java -Djava.ext.dirs=/usr/local/ibm/gsk5/classes/ikmuser.properties com.ibm.gsk.ikeyman.ikeycmd <arguments>.
IBM HTTP Server might hang during initialization when it is configured for the Secure Sockets Layer (SSL) and the WebSphere administrative server is running.
To solve this problem, try any of the following workarounds:
SSLAcceleratorDisable
in the IBM
HTTP Server configuration file httpd.conf. Place this directive outside of
VirtualHost
and Directory
stanzas.com.ibm.ejs.sm.adminServer.lsdPort=a_port_number
to the admin.conf file in the appserver/bin subdirectory.If you install IBM HTTP Server with IBM Software Development Kit 1.3.0 and WebSphere Application Server and attempt to define a key using the IBM HTTP Server IKEYMAN Hardware Crypto Menu options, the resulting window might be difficult to see and navigate. Use a workaround for the appropriate platform to correct this problem:
AIX:
$JAVA_EXECUTABLE $IKEYMAN_TEMP_JAVA_INPUT
with this one-line statement (shown here on two lines to improve readability):
$JAVA_EXECUTABLE -Djava.ext.dirs=/usr/opt/ibm/gskkm/classes/ikmuser.properties $IKEYMAN_TEMP_JAVA_INPUT
Linux platforms:
$JAVA_EXECUTABLE $IKEYMAN_TEMP_JAVA_INPUT
with this one-line statement (shown here on two lines to improve readability):
$JAVA_EXECUTABLE -Djava.ext.dirs=/usr/local/ibm/gsk5/classes/ikmuser.properties $IKEYMAN_TEMP_JAVA_INPUT
When running the WebSphere Application Server administrative server, a server error is returned when you try to run a servlet such as the sample servlet snoop. To enable the iPlanet plug-in to send the servlet to WebSphere Application Server, turn off the iPlanet servlet support:
On the UNIX platforms, the log of Domino plug-in configuration failures might include a false negative when Domino configuration code is run. If the Domino Web Server Application Program Interface (DSAPI) plug-in does not load, then use the manual Domino configuration instructions to troubleshoot the configuration. If the plug-in appears to load properly (that is, it is viewable in the Domino console startup messages), you can disregard the log error.
Back to Web servers
Back to possible problems and suggested fixes
PropertySessionReaperInterval is now a new system property. It can be used to set the sleep interval of the Invalidation Thread in the Session Manager.
The instructions for applying the system property are as follows:
An example of the instructions:
You can submit the Directory Logging form under the Logs section in the IBM
Administration Server, using the Enter key when using Netscape 4.78 on Linux Red Hat 7.2 and Netscape 4.7
on Solaris 8. The Directory Logging form accepts invalid data for the text field Cookie
domain to include in the header field, which sets the CookieDomain directive in the
configuration file. The IBM HTTP Server gives an error during restart. To avoid entering an
invalid value for the CookieDomain directive, use Submit in
the form to submit the data.
HTTP server port is configurable through wscp (Defect PQ59624.RN)
The default HTTP server port is 9080. Each additional application server created gets the next incremented number, for example, 9081. It is important to configure the port number when there are multiple WebSphere Application Server instances installed on one physical node. Each instance is assigned the starting port number for the HTTP transport port. The wscp command is wscp> Node modify /Node:myNode1/ -attribute {{LastUsedPort 9100}} where myNode1 is the node on which WebSphere Application Server is installed and 9100 is the port number at which to start incrementing.
During the uninstallation of IBM HTTP Server Version 2.0, a pop-up window with a truncated message displays. The text message is similar to the following:
/opt/IBMIHS/conf/httpd.conf.sample exists on this system and it had been modified since installation. Do you want to remove this file?
IBM HTTP Server Version 2.0 is now available on all supported platforms. Based on the new Apache 2.0 Web server, this version of IBM HTTP Server includes an Apache 2.0 foundation (Version 2.0.42), IBM-added InstallShield MultiPlatforms installation, Secure Sockets Layer (SSL), and Lightweight Directory Access Protocol (LDAP). IBM HTTP Server Version 2.0 is fully supported by IBM when deployed with WebSphere Application Server Version 4.0.5. Download IBM HTTP Server Version 2.0 can be from http://www-3.ibm.com/software/webservers/httpservers/.
Installing IBM HTTP Server Version 2.0:
Go to the directory when you unpack the downloaded file and issue:
java -jar setup.jar
If you want to install IBM HTTP Server Version 2.0 on UNIX without using an XWindows GUI:
java -jar setup.jar -silent
java -jar setup.jar -console
Setting up IBM HTTP Server Version 2.0 with WebSphere Application Server Version 4.0.5
To use IBM HTTP Server Version 2.0 with WebSphere Application Server Version 4.0.5, locate the IBM HTTP Server 2.0 httpd.conf file (in the conf directory under the server root) and add the following directives to allow the HTTP Transport plug-in to work correctly with IBM HTTP Server Version 2.0:
LoadModule was_ap20_module /full/path/to/module WebSpherePluginConfig /full/path/to/config
When WebSphere Application Server Version 4.0.5 is installed on the same machine as IBM HTTP Server
Version 2.0:
Paths to module are:
Windows NT and Windows 2000: C:\<WASROOT>\bin
Linux: <WASROOT>/bin
Linux 390: <WASROOT>/bin
Solaris Operating Environment: <WASROOT>/bin
AIX: <WASROOT>/bin
HP: <WASROOT>/bin
Paths to the WebSphere plug-in configuration file (plugin-cfg.xml) are:
Windows NT and Windows 2000: C:\<WASROOT>\config
Linux: <WASROOT>/config
Linux 390: <WASROOT>/config
Solaris Operating Environment: <WASROOT>/config
AIX: <WASROOT>/config
HP: <WASROOT>/config
Installing WebSphere Application Server Version 4.0.5 on a different machine from IBM HTTP Server Version 2.0 (remote configuration):
If IBM HTTP Server Version 2.0 is installed on a machine without WebSphere Application Server Version 4.0.5,
you need to get the 2.0-based WebSphere Application Server plug-in from a machine with WebSphere
Application Server Version 4.0.5 installed. The WebSphere Application Server Version 4.0.5
Installer installs the 2.0-based WebSphere Application Server plug-in in the bin directory of the
WebSphere Application Server server root (this is where all the modules reside). The file name for the
2.0-based WebSphere Application Server plug-in is mod_was_ap20_http.dll (for Windows platforms) or
mod_was_ap20_http.so (for UNIX or Linux platforms). The 2.0-based WebSphere Application Server
plug-in needs to be copied to the machine where IBM HTTP Server Version 2.0 is installed. It is suggested
that you put the 2.0-based WebSphere Application Server Plug-in into the same directories where the
IBM HTTP Server modules are:
Windows NT and Windows 2000: C:\Program Files\IBM HTTP Server 2.0\modules
Linux: /opt/IBMIHS/modules
Linux 390: /opt/IBMIHS/modules
Solaris Operating Environment: /opt/IBMIHS/modules
AIX: /usr/IBMIHS/modules
HP: /opt/IBMIHS/modules
You must also copy the WebSphere Application Server plugin-cfg.xml file corresponding
to the target WebSphere Application Server Version 4.0.5 server to the machine where IBM HTTP Server
Version 2.0 is installed. It is suggested that you put the WebSphere Application Server Version 4.0.5
plugin-cfg.xml file in the same directories where the IBM HTTP Server configuration files
reside. Here are the suggested paths to the WebSphere Application Server plugin-cfg.xml
configuration file:
Windows NT and Windows 2000: C:\Program Files\IBM HTTP Server 2.0\conf
Linux: /opt/IBMIHS/conf
Linux 390: /opt/IBMIHS/conf
Solaris Operating Environment: /opt/IBMIHS/conf
AIX: /usr/IBMIHS/conf
HP: opt/IBMIHS/conf
Once you have copied the plugin-cfg.xml file to the IBM HTTP Server Version 2.0 machine, you must edit the plugin-cfg.xml to point to valid paths on the IBM HTTP Server Version 2.0 machine. For example:
<Log LogLevel="Error" Name="/opt/WebSphere/AppServer/logs/http_plugin.log"/>
The path /opt/WebSphere/AppServer/logs/http_plugin.log must be a valid path on the IBM HTTP Server 2.0 machine.
If SSL is set up on WebSphere Application Server Version 4.0.5, you must copy the plugin-key.kdb and plugin-key.sth files from the WebSphere Application Server Version 4.0.5 machine to the IBM HTTP Server Version 2.0 machine and edit the plugin-cfg.xml file to point to the appropriate paths on the IBM HTTP Server Version 2.0 machine. For example:
<Property name="keyring" value="/opt/WebSphere/AppServer/etc/plugin-key.kdb"/> <Property name="stashfile" value="/opt/WebSphere/AppServer/etc/plugin-key.sth"/>The path /opt/WebSphere/AppServer/etc/plugin-key.kdb and /opt/WebSphere/AppServer/etc/plugin-key.sth must be valid paths on the IBM HTTP Server 2.0 machine.
Back to working with HTTP servers
Back to possible problems and suggested fixes
Read the problems and fixes that apply to your database:
When using the new Data Direct ConnectJDBC 3.1 JDBC driver supported with this release, the selectMethod=cursor configuration parameter is no longer required. The ConnectJDBC 3.x drivers have added support for transactional operations using the selectMethod=direct mode. In most cases, selectMethod=direct provides better performance than the selectMethod=cursor mode required with the ConnectJDBC 2.2 driver.
The net driver for accessing DB2 remotely is not supported in this version of WebSphere Application Server. If you are using DB2 remotely, do not modify the dbServerName and dbPortNumber fields in the admin.config file. The use of the DB2 client installation and DB2 aliases is supported in order to access DB2 remotely.
When you run DB2 on any UNIX platform, you might see the following error message:
java.lang.NoSuchFieldError: batchReturn
This error is caused because of a mismatch of the db2java.zip files. To
work around this problem, ensure that the db2java.zip file in the
Java12 directory is before the db2java.zip in the Java directory in
your class path. A common problem is to install a Java Database Connectivity (JDBC) driver using
~db2inst1/sqllib/java/db2java.zip
, while you should have
specified ~db2inst1/sqllib/java12/db2java.zip
.
To use the IBM Toolbox for Java (also known as the AS/400 Toolbox for Java) Java Database Connectivity (JDBC) driver with WebSphere Application Server Version 4.0.x, you must use the most current version of the IBM Toolbox for Java Modification level 4 (5722JC1 or JTOpen). If you have installed the licensed product 5722JC1, you must also apply 5722JC1 FixPak SI02195. After applying the FixPak, replace the Toolbox JAR file (jt400.jar) on the workstation systems on which you are running WebSphere Application Server Version 4.0.x with the updated version from your iSeries system.
When running WebSphere Application Server on the Solaris 8 Operating Environment with a DB2 UDB database as the repository, your system might develop a hang condition. The hang condition occurs because of networking problems on the Solaris Operating Environment. To fix the condition, do the following:
Depending on your specific system, you might need one, two, or all three of these solutions.
The updated db2390.sql script provided with WebSphere Application Server Version 4.0.4 is incomplete. It does not create an index for EJSADMIN.LOCK_TABLE. Add the following to the script for the administrative server to start properly when using DB2/390 as the repository.
CREATE TYPE 2 UNIQUE INDEX EJSADMIN.LOCK_IX ON EJSADMIN.LOCK_TABLE ( NAME );
The table syntax created by WebSphere Application Server during deployment for Informix Database Server are created with the default locking mechanism for Informix. The default is page locking. For online transaction processing (OLTP) applications, the user should identify which specific tables need row locking and change them manually.
If your WebSphere Application Server configuration is WLM-enabled, uses Informix Version 7.31, and has an application installed using a server group, severity 1 exceptions are thrown when you do either of the following:
Messages for the exceptions are shown in the administrative console messages area and detailed information on the exceptions are given in the tracefile and the activity.log files. The messages resemble the following:
[01.12.13 13:42:02:925 CST] 3b3402 ExceptionUtil X CNTR0019E: Non-application exception occurred while processing method create: java.rmi.RemoteException: ; nested exception is: java.sql.SQLException: Could not insert new row - duplicate value in a UNIQUE INDEX column.
[01.12.13 13:42:02:962 CST] 3b3402 ExceptionUtil X CNTR0020E: Non-application exception occurred while processing method bind on bean BeanId(admin#nssrcm.jar#NsSession, null): org.omg.CORBA.portable.UnknownException: minor code: 0 completed: Maybe at com.ibm.ejs.ns.CosNaming.EJBDataStore.bind(EJBDataStore.java:206)
org.omg.CORBA.TRANSACTION_ROLLEDBACK: com.ibm.websphere.csi.CSITransactionRolledbackException at com.ibm.ejs.csi.TranStrategy.handleException(TranStrategy.java:121)
Ignore these exceptions. Your server clones and application run successfully.
If you are using the Oracle thin driver and the OCI driver, surrounding a query with parentheses ("()") results in the error "ORA-01009: missing mandatory parameter" and an empty result set (no data). This is an Oracle error (917674) and was fixed in the 817.2 fixset. To avoid the problem, either install Oracle fixset 817.2 or avoid surrounding queries with parentheses.
If you are using connection pooling with Oracle on the Solaris Operating Environment or Linux platforms,
it is recommended that you set the maximum number of files allowed open per
user to at least 2048. You can do this using the ulimit command. Enter
ulimit -n 2048
in the session where you run the application server.
It is also recommended on the Linux system that the Java virtual machine (JVM) initial heap
size and maximum heap size set to be 256 megabytes and 512 megabytes, respectively.
Using the administrative interface, select Nodes > node_name
> Application Servers > server_name > Process Definition
> JVM Settings. In the Initial Heap Size field,
enter 256
and in the Maximum Heap Size field
enter 512
. Save the configuration and restart the application
server to have the settings take effect.
During the testing of WebSphere Application Server, Oracle has a problem when using two different physical XA connections open to the same Oracle instance. The problem causes the following exception:
On Oracle 9i: XAER_RMERR resource error -3
On oracle 8i: ="Io exception: End of TNS data channel", SQLState=null, vendorCode=17002)
An Oracle bug has been opened (2511780) to solve this problem. Contact Oracle or IBM support for status on the Oracle bug.
With Sybase as the administrative repository, the following DatabaseMetaData methods are not implemented as of the last Sybase EBF and will throw UnimplementedOperationExceptions.
getSchemaName() getTableName() getCatalogName()
When you install and use Sybase, be sure that you apply the latest EBF and search the accompanying Cover.ROLL.EBF# document that lists what patches and enhancements are a part of EBF# (where EBF# is the number of the latest fix available). In particular, look for the following EBF IDs:
1074408-11 CR255096 1074408-12 CR255094 1074408-13 CR255097
During the creation of a data source, you can click Test Connection to determine if the data source is set up correctly before proceeding. When the data source is for Sybase, clicking Test Connection might return a JZ0C0 error indicating that the connection was already closed. If this problem occurs, you must install Sybase EBF 9422 or later. Note that, even if you encounter a JZ0C0 error, the administrative and application servers should work properly on EBFs prior to 9422.
Back to Data access
Back to Possible Problems and Suggested Fixes
When trying to run a Java client program in a ServerGroup environment with multiple application server clones on the the same machine you might see the following errors:
Client Window:
- Java.rmi.MarshallException: CORBA Comm_Failure 1 Maybe: - org.omg.CORBA.COMM_FAILURE: minor code: 1 completed: maybe - at com.ibm.CORBA.iiop.IIOPConnection .purge_calls - at com.ibm.CORBA.iiop.StandardReaderThread.run
This set of errors occur for each cloned application server that fails.
Client Log:
- WWLM0019: Method getNextClone found no usable proxies in the list.
You see one of these messages for each subsequent client request made after the clones fail.
WebSphere Application Server trace file: You see messages saying that all the clones have been restarted.
Within the $WAS_HOME/bin directory, you see a core file was generated, and a hs_err_pidxxxx.log file is created for each failing cloned application server.
To work around, create a file in the $WAS_HOME/bin directory with the name .hotspot_compiler and add the following string to that file: exclude com/ibm/ws/wlm/util/RIHelper removeServiceContext.
If an application consisting of client and server side components is deployed in an application server sharing the same Java virtual machine (JVM), then the class loader that loads the client side components need to be the same as the one that loads the server side components. Otherwise, you might see an org.omg.CORBA.BAD_PARAM orb error with message of:
"Servant is not of the expected type"
To avoid this error, the class loader needs to be shared between the client and server side components. One way this can be achieved is by setting the property com.ibm.ws.classloader.classSharing=true. More information on related topic of class loader visibility and sharing can be found in InfoCenter.
If you specify Java virtual machine (JVM) property com.ibm.ws.classloader.classSharing=false, you need to specify two additional JVM properties.
Complete the following steps to add the properties:
After completing the above steps, setting -Dcom.ibm.CORBA.notLocal=true performance
is affected. notLocal means although client and server
can be deployed in the same application server, they are treated as remote to one another.
Setting notLocal to true, is no different than deploying a client application (JSP file or servlet)
in one application server and deploying a server application (an enterprise bean) into a different application server.
In WebSphere Application Server Version 4.0, two phase commitment transactions
are only supported through the Java Message Service (JMS) wrappers for the MQSeries JMS provider.
Generic JMS providers are supported through an external Java Naming and Directory Interface (JNDI)
lookup, but they are not wrapped and cannot participate in a 2PC transaction. This fix supplies a standalone generic JMS resource binding utility, whose
purpose is to bind a WebSphere wrapped JMS resource which has an indirect reference
to the actual generic provider resource. The wrapped JMS resource can then be used
within the application server, and because it is now wrapped it will be able to
participate within two-phase WebSphere transactions. The WebSphere JMS run time is
enabled to support these resources and recover them in the case of a failover. The syntax to the generic JMS resource binder is:
Initial Context Factory for the name space where the
wrapped JMS Connection Factory is to be bound. This is
typically one of the following:
Provider URL of WebSphere Application Server namespace to bind wrapped JMS
Connection Factory into. JNDI name for the wrapped JMS connection factory to be bound. Initial Context Factory for the generic JMS provider resource namespace. Provider URL of where the generic JMS provider resources are bound. JNDI name of generic JMS connection factory in the external namespace. The queue or topic type of the generic JMS connection factory in the external namespace.Generic Java Message Service provider does not support two phase commit
WebSphere transactions (Defect PQ67210.RN)
<install_root>\java\bin\java -cp <install_root>\lib\resources.jar;<naming_jars>;
com.ibm.ejs.jms.generic.GenericJMSBinder <WASICFactory> <WASNameSpaceURL> <InternalJndiName>
<ExternalICFactory> <ExternalProviderURL> <ExternalJndiName> <QCF/TCF>
WebSphere Application Server namespace: com.ibm.websphere.naming.WsnInitialContextFactory
File System: com.sun.jndi.fscontext.RefFSContextFactoryA memory leak observed during stress testing WebSphere
Application Server on the SuSE Linux390 platforms (Defect PQ69054.RN)
A memory leak observed during stress testing WebSphere Application Server on SuSE 7.0 Linux 390. The memory leak quickly used the available Java virtual machine (JVM) heap storage and system memory, causing a java.lang.OutOfMemory error display on the application server and the application server to restart.
This problem is identified in the Object Request Broker component of the IBM Software Development Kit shipped with WebSphere Application Server.
To work around this problem, apply fix PQ69054 which is available on all platforms.
Back to Java programming
Back to possible problems and suggested fixes
This FixPak introduces support for sharing HTTP session data among Web applications that are packaged in the same Java 2 Platform, Enterprise Edition (J2EE) application. This feature is a value-add extension provided by WebSphere Application Server to the behavior that is prescribed by the servlet V2.2 specification. Currently, the feature is exclusive to WebSphere Application Server for multi-platforms. It is not currently supported on WebSphere Application Server for z/OS. Applications that take advantage of this extended feature cannot deploy to WebSphere Application Server for z/OS.
The release of persistent HTTP session support in WebSphere Application Server 3.0 introduced HTTP session transactions because the plug-in lacked an HTTP session affinity mechanism. A transaction results from the use of a select and lock methodology when accessing the database from any WebSphere instance. As a result, only one servlet instance of execution can access an HTTP session at a time for the life of the service() method of the servlet.
This implementation had performance drawbacks, for example, most default database installations could not handle the high degree of locking. It also had stability issues, for example, any servlet hangs would lock up individual sessions, or the entire database. This implementation proved unusable with the introduction of the servlet 2.2 API and concurrent access requirements for an HTTP session.
To solve this problem, HTTP session affinity was added to the plug-in and the Select for Update option was removed.
You now have the option to turn on the locking behavior again. By default, locking still does not occur.
Now that all requests of a particular HTTP session route to a particular Java virtual machine (JVM), standard Java locking mechanisms, within a single JVM, can be utilized. These mechanisms synchronize servlet execution based on access to the HTTP session.
Three Java system properties exist to manage this behavior. Set these properties with the Java -D<system property=value> parameter on the command line option of an application server:
The Java Transaction API (JTA)-enabled data source for the Session Persistence database is not supported.
No additional advantages exist for using JTA for persisting sessions.
A new system property is added to ensure that the session object in cache is in sync with the session object persisted to the database. This is in addition to the cache ID mechanism used for the same purpose.
To apply this property, follow these steps :
Session ID can be shared across WebSphere Application Server in a multi-Java virtual machine (JVM) environment without session persistence configured by using a new system property HttpSessionIdReuse.
Follow the instructions to apply the system property :
WebSphere Application Server provides a new feature which you can use to extend the scope of the session to an enterprise application. For example, a session can be shared across all the Web modules in an enterprise application. This feature is provided as an IBM extension.
The steps to activate the feature are as follows:
<sessionsharing> <EnterpriseAppnames> (Add Enterprise Application Display Names separated by commas) </EnterpriseAppnames> </sessionsharing>
Note that nothing additional needs to be done to enable this feature other than adding the sessionshare.xml file and listing the names of the enterprise applications in it.
To use this service, all the Web modules in the enterprise application needs to be installed
on the same server. Web modules in the enterprise application cannot be split by servers. For example,
with an enterprise application containing two Web modules, you cannot use this service when one Web
module is installed one server and the second Web module is installed on a different server.
In such a split installation, applications might be able to share the session data across Web modules
using persistent sessions, but session data integrity will be lost when concurrent access to a session
is made in different Web modules. This will also severely
restrict usage of some of SessionManger features like TIME_BASED_WRITES for write frequency.
A new admin.config directive is added (Defect PQ62586)
You can specify the directory where passivated session beans can be stored as a new admin.config directive. Stateful session beans are being passivated to the <install_root>/bin directory, which you can customize. The new directive is com.ibm.ejs.sm.adminServer.containerStatefulSessionBeanPassivationDir=<directory name>.
Back to working with sessions
Back to possible problems and suggested fixes
Pass-by-value calls failed due to serialization exceptions in the following scenarios:
To work around this problem, deploy a new system property -Dcom.ibm.websphere.container.portable to implement a compatibility mode between WebSphere Application Server Version 3.5.6, WebSphere Application Server Version 4.0.3, and WebSphere Application Server zSeries 4.0.x. In addition, additional checking occur regarding the use of Enumerations and Collections returned by finder methods. Refer to Defect 110799.RN for more details.
Do not enable this property unless your application has an interoperability problem with one of the above scenarios.
Do not enable this property on a WebSphere Application Server Version 4.0.4 with C++ clients to that server.
Do not enable this property on a WebSphere Application Server Version 3.5.6 or WebSphere Application Server V4.0.4, unless all your clients to that server are WebSphere Application Server Version 3.5.6 and later for WebSphere Application Server Version 3.5.x, or WebSphere Application Server Version 4.0.4 and later for WebSphere Application Server Version 4.0.x.
Check the WebSphere Application Server for zSeries documentation to identify the correct installation procedures for that environment. Failure to do so results in exceptions being thrown due to serialization errors.
Once the property com.ibm.websphere.container.portable=true has been set on a WebSphere Application Server Version 3.5.6, the following restrictions still apply:
These fixes are designed to be put on in a rolling wave fashion. Before turning on the com.ibm.websphere.container.portable property, make sure that all clients to this server are at WebSphere Application Server Version 3.5.6 or WebSphere Application Server Version 4.0.4.
In doing so, you can first update your client machines, and then update your server. Finally, when your configuration is set, you can enable the property and the new function, thus avoiding a shutdown of the entire network to do the upgrade.
To set the property:
On WebSphere Application Server Version 3.5.6:
On WebSphere Application Server Version 4.0.4:
A final reminder, unless you are having a interoperability problem with the above conditions, do not turn on this property for your servers.
WebSphere Application Server Enumerations and Collections cannot be used outside the transaction they were created in. Once you have enabled the property com.ibm.websphere.container.portable, additional checking occurs, to determine if two transactions attempt to access the same Enumeration or Collection instance.
In the unlikely event this occurs, an EnumeratorException is thrown.
In addition, once the transaction ends, a lazy collection or enumeration is disconnected from the server. In the event that the enumeration or collection attempts to access additional elements, by contacting the server after the transaction has ended, a com.ibm.ejs.container.finder.CollectionCannotBeFurtherAccessedException is thrown.
Back to interoperability
Back to possible problems and suggested fixes
Read the problems and fixes that apply to your language:
Data files that contain the information for the default and sample configurations are not translated in this release. For example, objects such as Default Server and Sample DB Driver will have English names and descriptions even in non-English locales.
The echo
statements from batch files and shell scripts (for example,
ejbdeploy
and adminclient
) also are not translated.
This release of WebSphere Application Server provides the English (en_US) installation of the application client (Java 2 Platform, Enterprise Edition (J2EE) client and Java thin client) only.
On AIX and for Korean and other languages, some WebSphere Application Server pages could be corrupted. To fix the page display, clear the Auto-select in the View > Encoding menu option of Microsoft Internet Explorer browsers or the View > Character Set option of Netscape browsers.
Before installing WebSphere Application Server Advanced Edition for Linux on zSeries (390) onto a Linux for z390 distribution, ensure that True type font and Input method are available on your distribution for your double-byte character set (DBCS) locale.
If you have CD-ROMs for the WebSphere Application Server Version 4.0.1 and Version 4.0.2 for Linux on zSeries releases, you can access the administrative client remotely by doing the following:
adminclient host_name_of_Linux_on_zSeries_machine
Note that the Turbo Linux 6.5 for z390 distribution does not support DBCS.
If you are using one of the supported double-byte character set (DBCS) locales, one of the following file sets is required:
AIX:
X11.fnt.ucs.ttf (for ja_JP or Ja_JP) X11.fnt.ucs.ttf_CN (for zh_CN or Zh_CN) X11.fnt.ucs.ttf_KR (for ko_KR) X11.fnt.ucs.ttf_TW (for zh_TW or Zh_TW)
Solaris Operating Environment:
SUNWjxcft, SUNWjxmft (for ja) SUNWkcoft (for ko) SUNWgttf (for zh_GBK) SUNW5ttf (for zh_TW.BIG5)
The German version of the advanced properties for Lightweight Directory Access Protocol (LDAP) support help file is back level. To access the latest level, see the InfoCenter article 6.6.18.0.9: Advanced properties for LDAP support. To correct the file level accessible from the product interface, replace the version of the help file located in product_installation_root/web/InfoCenter/was/060618009.html. For example, C:\WebSphere\AppServer on the Windows NT platforms.
If you are running WebSphere Application Server on an AIX machine, true type fonts (TTFs) must be installed for the characters to display properly. These fonts are not installed automatically with AIX default installation.
Using non-Latin characters in class names results in an org.omg.CORBA.NO_IMPLEMENT error.
When server side enterprise beans contain non-Latin characters in class names and a client tries to invoke a remote method requiring a class with class name having non-Latin characters to be loaded, the client program receives the error:
java.rmi.ServerException: RemoteException occured in server thread; nested exception is: java.rmi.RemoteException: org.omg.CORBA.NO_IMPLENT: Unable to locate value class <DBCS class name>
To work around this problem, rename the classes to make sure that there are no Latin characters in the class name. Regenerate and re-deploy the application.
If you are installing WebSphere Application Server Advanced Single Server
Edition on the Solaris Operating Environment (Simplified Chinese Only), change the GB2312 key in
the converter.properties file from Cp1386
to GBK
to avoid corruption on the administrative console. The converter.properties
file is located in the following directory: WebSphere/AppServer/properties.
When installing on UNIX, certain traditional Chinese characters are not displayed properly due to a IBM Software Development Kit 1.3 product limitation. Some characters are displayed wrong or are unreadable.
Back to national language version issues/limitations
Back to possible problems and suggested fixes
Xalan Version 2.2 is shipped with WebSphere Application Server Version 4.0.3, Version 4.0.4, and Version 4.0.5. Xalan Version 2.2 performance is slower than Version 2.1, and it uses 3 to 5 times more memory than Version 2.1. Refer to fix PQ68660 for more information.
Significant time is spent in the following method calls:
Slight performance overhead is caused by the DTM model introduced in LotusXSL 2.2.
The garbage collector (GC) reports a lower amount of free memory when versions LotusXSL 2.2 and higher are used with WebSphere Application Server Version 4.0.3 or higher. GC reports a higher value of free memory when LotusXSL 2.0 is used in the same environment. This higher memory foot print usage depends on the application.
Note: There is concern for the above issues if your application is dependent on Xalan packaged with WebSphere Application Server. Otherwise, performance issues are addressed in the latest Xalan version from the Apache Web site.
Back to Prerequisite products restrictions
Back to possible problems and suggested fixes
Manually modify the admin.config file by adding the following entries in InfoCenter article 6.6.46.0:
com.ibm.CORBA.requestTimeout=200
Value 200=3.2 minutes that is the time ORB waits for a Reply to a Request.
com.ibm.CORBA.locaterequestTimeout=200
Value 200=3.2 minutes that is the time ORB waits for the Location Service Demon (LSD) to send a Reply to a Locate Request that was sent by the ORB.
Note that if your network is subject to extreme latency, specify a large value to prevent timeouts. If you specify a value that is too small, timeouts could occur before a response is received.
Be very careful when you specify this property: it has no recommended value. Set it only if you suspect that you are experiencing problems with timeouts in the administrative server.
The following statement is additional documentation regarding Lightweight Directory Access Protocol (LDAP) server which is documented in InfoCenter article 6.6.18.1.4a.4.1.
WebSphere Application Server only supports the configuration of one LDAP server. Any LDAP server failover mechanism has to be implemented outside of WebSphere Application Server and must be transparent to WebSphere Application Server.
The following information is clarification about InfoCenter article 6.6.0.2.2.3: Authenticating to the administrative server.
Add the following line to your .wscprc file:
com.ibm.CORBA.ConfigURL=URL of properties file
An example URL is:
Windows Platform:
file:///C:/WebSphere/AppServer/properties/sas.wscp.props.
UNIX Platform:
file:///usr/WebSphere/AppServer/properties/sas.wscp.properties
Alternatively, you can add the following option to the Java command line (preceding the
application class name):
-Dcom.ibm.CORBA.ConfigURL=URL of properties file
The following information has been added to InfoCenter article 5.1.4: The WebSphere delegation model:
When using VisualAge for Java (VAJ) to create enterprise beans the default value for the run-as model is system-identity. This might cause problems during authorization if client identity is assumed to be the default.
InfoCenter article 6.6.45.0.1 incorrectly states what changes are made to iPlanet configuration in the obj.conf file when WebSphere Application Server Version 4.0.x iPLanet plug-in is installed.
The correct information is:
Init fn="load-modules" funcs="as_init,as_handler,as_term" shlib="<WAS root>/bin/ns41_http.dll(.so)" Init fn="as_init" bootstrap.properties="=<WAS root>/config/plugin-cfg.xml" Service root=<iPlanet root>/docs fn="as_handler"
Single class files are not supported within the files section at the EAR level in WebSphere Application Server Version 4.0.3. The tool that picks up these parameters and generates deployment code, EJBDeploy, does not have the ability to use loose class files.
The content of this section are as follows:
For each enterprise beans JAR file in the EAR file, all the dependent classes must be in JAR files contained within the EAR file. The manifest file or a particular JAR must identify the JAR files which contain the dependent classes. It does this using the class path as described in article 6.6.24.0.
If the dependent classes are not in JAR files already included in the EAR files and are loose class files, they must be packaged into a JAR file which must be included in the EAR file. The enterprise beans JAR files that needs these classes must identify this JAR file in its class path.
When searching for Linux installation in the InfoCenter using the search page, the first
entry is " Installing WebSphere Application Server 4.0 -- Typical Installation option." In
step 6, it contains the following command:
# mount -t isso9660 -r /dev/cdrom /cdrom
The correct command is:
# mount -t iso9660 -r /dev/cdrom /cdrom
On the InfoCenter page, under "Download search-enabled InfoCenter as a JAR file and install
locally:", click on download instructions. It takes you to an InfoCenter page which contains
a table. The third column of the table contains links to details. The current value of the link is:
http://www-3.ibm.com/software/webservers/appserv/doc/v40/dl
The correct value should be:
http://www-3.ibm.com/software/webservers/appserv/doc/v40/info_center_zip.html#dl
When WebSphere Application Server global security is enabled, the instructions for application server running as non-root are as follows:
Warning: Ensure that the administrative server "run as" ID has full access and privileges over the non-root ID that you gave to the application server.
In InfoCenter article 8.9: Thread dumps, the Java thread dumps for WebSphere Application Server administrative client running on an HP-UX system should go to <install_root>/logs/adminclient_audit_messages.log, not the window that starts the administrative client as it described in the InfoCenter documentation.
CustomRegistry and System Management
When the administrative client (or xmlConfig) is used to set up security or modify users and groups to roles, the WebSphere Application Server system management (SM) code calls the CustomRegistry implementation to retrieve data. During this time, the WebSphere Application Server administration repository is locked until the data is retrieved from the CustomRegistry. This implies that during the data retrieval any other system management calls to the administrative repository depends on the performance of the CustomRegistry implementation
CustomRegistry implementation using a data source
When using a data source in the CustomRegistry implementation, the following property needs to be set in the admin.config to avoid the 1PC (one phase) committing problem.
com.ibm.websphere.security.customuserregistry.datasource=true
This property should only be set when the CustomRegistry is using a data source. If the registry is changed to use LocalOS or LDAP or a CustomRegistry that does not use a data source this property should be set to false or removed completely from the admin.config file. If this is not done, the server might encounter a deadlock condition during initialization.
When using this property, it is very important that the CustomRegistry implementation not make calls to WebSphere Application Server System Management (SM) for example through WSCP or xmlConfig. These calls might result in a database deadlock or other unpredictable results.
In InfoCenter article 4.8.2.1: SOAP deployment descriptors in WebSphere Application Server, the following stateful and entity beans providers are not supported in WebSphere Application Server Version 4.0 FixPak 3:
com.ibm.soap.providers.WASStatefulEJBProvider stateful session bean com.ibm.soap.providers.WASEntityEJBProvider entity bean
In InfoCenter article 4.8.1.2.2.1: Accessing enterprise beans through SOAP, the stateful and entity beans are not supported in WebSphere Application Server Version 4.0 FixPak 3.
Configuration instructions for basic authentication with SOAP are not complete in InfoCenter article 4.8.4. The current steps for enabling basic authentication for SOAP services in WebSphere Application Server Version 4.x are as follows:
In the "Command arguments" section of the InfoCenter article 6.6.0.15.1: Generating EJB deployment code from the command line, the list of valid databases under -dbvendor includes DB2UDBWIN_V71 (DB2 for Windows, V7.1. The Application Assembly Tool no longer has this option but, instead, has the option DB2UDBWIN_V72 "(DB2 for Windows, v7.2)".
On the Advanced Single Server Edition, you might not be able to open PDF versions of the documentation if you accessed help through the administrative console. As a workaround, point your Web browser to the index.html page of the InfoCenter, which is located in the subdirectory main_WebSphere_directory/web/InfoCenter and has the URL main_WebSphere_directory/web/InfoCenter/index.html.
To correct the problem, do not install the InfoCenter JAR files into the same directory as the WebSphere Application Server product. Install into a separate directory. The following steps describe how to download and install the full WebSphere Application Server InfoCenter from a self-extracting JAR file.
InfoCenter_name.jar.zip
to:
InfoCenter_name.jar
Remove the .zip from the end of the file. Web browsers often treat JAR files as corrupted so .zip is added to the end of the file to avoid this problem.
java -jar InfoCenter_name.jar
java -classpath InfoCenter_name.jar;%CLASSPATH InfoCenterDoc.class
In the Version 4.0 Advanced Edition InfoCenter, expanding the Contents choices Application Server AE and then Migration does not show a link to article "3.7: Interoperability with Version 3.5.x." To view the article, click Table of Contents under Migration and click on the link "3.7: Interoperability with Version 3.5.x" at the bottom of the Table of Contents page.
The Full Select feature for Entity EJB finders has been removed from the Application Assembly Tool. Information on the Application Assembly Tool should no longer document the feature.
The Version 4.0 InfoCenter article "6.6.8.0.aa: Assembly properties for Web modules" contains inaccuracies. The descriptions for class path and additional class path should be as follows:
myapp.ear/mywebapp.war myapp.ear/class1.jar myapp.ear/class2.zip
Specify class1.jar class2.zip as the value of the Class path property. Note that loading of .class files from the EAR file is not supported, as it is not Java 2 Platform, Enterprise Edition (J2EE) portable.
myapp.ear/mywebapp.war myapp.ear/class1.jar myapp.ear/class2.zip
Specify class1.jar;class2.zip as the value of the additional class path property. Note that loading of .class files from the EAR file is not supported, as it is not J2EE portable.
The Version 4.0 InfoCenter is missing information on configuring SessionManager with DB2 OS390 as the persistent store. The information is available in the Version 3.5 InfoCenter in the article "1.2.3.2.3: Switching server databases to DB2/390." Note that only the section "Setting up the HttpSession database in DB2/390" applies to sessions.
The InfoCenter article "6.6.8.0.14: Assembly properties for MIME filters" describes MIME Filter - Target incorrectly as "Specifies the target virtual host for the servlets." Instead, the description should state "Specifies the target servlet name to which the filter output will be routed."
The InfoCenter article "6.6.14.5: Additional administrative tasks for specific databases" has incorrect bean values for the Oracle 8.1.7 two phase commit support. The correct bean values are REQUIRED, BEAN_METHOD, and _READ_COMMITTED and not TX_REQUIRED, TX_BEAN_MANAGED and TRANSACTION_READ_COMMITTED.
The InfoCenter article "6.6.3.0: Application server properties" incorrectly states that the default module visibility for the Advanced Single Server Edition is COMPATIBILITY. It should state that the default module visibility is APPLICATION.
The hyperlinks to DER_DBG_TAB and DER_DBG_TABGRID at the bottom of the article "Setting environment variables for the Debugger" in information in English on the Distributed Debugger incorrectly go to a Spanish page.
The statement that "each server group and clone must be secured individually" in the InfoCenter article "6.6.18.1.2: Securing cloned applications" is incorrect. To secure a cloned application, you secure an enterprise application, put that secured application into a server group, and then make clones of the server group.
The InfoCenter Version 4.0 article "6.6.18.1a.7: Configuring Secure Sockets Layer (SSL) in WebSphere Application Server" provides the following incorrect SSL example for configuring a plug-in:
<Property name="keyring" value="product_installation_root\myKeys\plug-inKeys.kdb"> <Property name="stashfile" value="product_installation_root\myKeys\plug-inKeys.sth">
The example should be as follows:
<Property name="keyring" value="product_installation_root\myKeys\plug-inKeys.kdb"/> <Property name="stashfile" value="product_installation_root\myKeys\plug-inKeys.sth"/>
The example elements need a forward slash (/) at the end of each element to terminate them.
If you download and install the InfoCenter JAR file from the product Web site or if you try to access these files from the Integrated InfoCenter, the Troubleshooting section might contain blank files.
The files are available from the Web site:
Article 8.7 Using application level facilities
Article 8.7.1 ORB-related minor codes
Article 8.8 Using internal tools
There is a section "Configuring a single instance of IBM HTTP Server (IHS) with WebSphere Application Server Version 3.5.x and 4.0.x" in WebSphere Application Server Version 4.0 InfoCenter.
You find the following information:
UNIX
LoadModule ibm_app_server_http_module/opt/WebSphere/AppServer40 /bin/mod_ AddModule mod_app_server_http.c Alias /WSsamples "/opt/WebSphere/AppServer40/WSsamples/" WebSpherePluginConfig /opt/WebSphere/AppServer40/ configplugin-cfg.xml
There should be a slash (/) between "config" and "plugin-cfg.xml".
The InfoCenter provides incomplete information about configuring WebSphere Application Server security to use client certificate. Please refer to Chapter 11 of the Redbooks http://www.redbooks.ibm.com/, "IBM WebSphere Version 4.0 Advanced Edition Security" (SG24-6520-00) for a complete and correct example of this procedure.
The InfoCenter article 7.2.4.2: Modifying server groups and clones states incorrect information about removing objects from the model. The statement in InfoCenter is: Other server group changes (such as adding or removing enterprise beans from an application server) are picked up by the clones when they are restarted.
This statement is incorrect because objects cannot be removed from the model without first being removed from all clones. The propagation only works with modifications and additions not deletions. To make this work as expected, remove objects from the clone and then remove from the model.
Because the WebSphere Application Server 4.0 InfoCenter is not updated for FixPaks, you might occasionally see document links that are no longer valid. Ignore these links. Documentation for FixPaks is provided in the Release Notes and the TechNotes database.
The InfoCenter provides incomplete information about configuring WebSphere Application Server security to use client certificate. Refer to Chapter 11 of the Redbooks http://www.redbooks.ibm.com/, "IBM WebSphere Version 4.0 Advanced Edition Security" (SG24-6520-00) for complete and correct example of this procedure.
Step 2 in instructions in the InfoCenter on "Installing Oracle 8i Release 3 (8.1.7)" for HP-UX should not reference the SHMMIN parameter. There is no such configurable parameter in HP-UX 11.0.
Instructions in the InfoCenter on "Mounting a CD-ROM in HP-UX" should be changed to the following:
Determine the device address by using the command: ioscan -C disk -f -n
The output should resemble the following:
Class I H/W Path Driver S/W State H/W Type Description ======================================================= disk 0 8/0/19/0.6.0 sdisk CLAIMED DEVICE IBM DDRS-39130WS /dev/dsk/c0t6d0 /dev/rdsk/c0t6d0 disk 0 8/16/5.2.0 sdisk CLAIMED DEVICE TOSHIBA CD-ROM XM-6201TA /dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
Here, the device file is /dev/dsk/c1t2d0. Thus, the mount command is:
/usr/sbin/pfs_mount /dev/dsk/c1t2d0 /cdrom
If this command does not work, which is possible on some HP_UX machines, try the mount command:
mount -F cdfs -o ro,cdcase /dev/dsk/c3t2d0 /cdrom
To use DB2 on OS390 as session persistence database, use the following Description Definition Language (DDL). You might want to modify this based on your environment.
CREATE DATABASE SESSDB STOGROUP SYSDEFLT CCSID EBCDIC; CREATE TABLESPACE SESSTS IN SESSDB USING STOGROUP SYSDEFLT PRIQTY 512 SECQTY 1024 BUFFERPOOL BP32K; CREATE TABLE NULL.SESSIONS ( ID VARCHAR(95) NOT NULL , PROPID VARCHAR(95) NOT NULL , APPNAME VARCHAR(64) , LISTENERCNT SMALLINT , LASTACCESS DECIMAL(19,0), CREATIONTIME DECIMAL(19,0), MAXINACTIVETIME INTEGER , USERNAME VARCHAR(256) , SMALL VARCHAR(3122) FOR BIT DATA , MEDIUM VARCHAR(28869) FOR BIT DATA, LARGE BLOB(2097152), SESSROW ROWID NOT NULL GENERATED ALWAYS ) IN SESSDB.SESSTS; CREATE UNIQUE INDEX NULL.SESS_INDEX ON NULL.SESSIONS (ID ASC, PROPID ASC, APPNAME ASC); CREATE LOB TABLESPACE LOBOBJTS IN SESSDB BUFFERPOOL BP32K USING STOGROUP SYSDEFLT PRIQTY 512 SECQTY 1024 LOCKSIZE LOB; CREATE AUX TABLE NULL.SESSIONSAUX IN SESSDB.LOBOBJTS STORES NULL.SESSIONS COLUMN LARGE; CREATE INDEX NULL.SESSION_IX ON NULL.SESSIONSAUX;
In DB2/390, set the RRULOCK parameter to YES.
The following information are added to the section of "Running application servers as non-root" in InfoCenter article 6.6.a.1: Running the product servers and consoles as non-root:
Remove any temporary files that were created by previous executions of the application server when it was "run as" the previous user ID.
Change the ownership of these specific files and directories to the user and group that you want the administrative server to "run as."
product_installation_root/properties/* product_installation_root/config/* product_installation_root/temp/* product_installation_root/logs/activity.log
Make sure that the user has read privileges for properties and installedApps directories.
Make sure that the user has read/write privileges for logs and temporary directories.
InfoCenter article 5.7.7: Disabling security on specific application servers provides incorrect information. Please refer to section 21.1.6 of the IBM WebSphere Version 4.0 Advanced Book Handbook: Securing only the administrative server (IBM Redbook SG24-6176-00).
In Version 4.0 for Advanced Edition Single Server InfoCenter, article 6.6.3.3: Administering application servers with the Web console provides the following information: "Use the Web console to edit the configurations of application servers. You cannot use this console to start and stop application servers."
This statement is incorrect. Advanced Edition Single Server now allows application servers to be started and stopped directly from the console.
InfoCenter article 6.6.45.0.1: Modifications to Web server configuration files during product installation has two errors under the subtitle: Netscape or iPlanet (obj.conf) for the HTTP plug-in:
Init fn="load-modules" funcs="as_init, as_handler, as_term" shlib="C:/WebSphere/AppServer/bin/ns41_http.dll" Init fn="init_exit" bootstrap.properties="C:/WebSphere/AppServer/config/plugin-cfg.xml" Service fn ="as_handler"l
The following message is missing from the 8.2 Messages file in the WebSphere Application Server InfoCenter:
SRVE0146E: Failed to Start Transport
Explanation: A configured transport-port is in use by another application.
User Response: Ensure that no other applications are using this port and then restart the server. If another application is using this port, change the transport-port in WebSphere Application Server to another value, or change the other application to use a different port.
Please update the values for silent installation as following:
2. Open an editor on the file setup.iss and change the parameter values in the file as appropriate for your choice of products and configuration. Descriptions for the parameters are given below. You must specify values for the Security szUser= and szPassword= parameters. All properties and values are case-sensitive and must be entered exactly as they appear in the table.
8b)If you plan to install WebSphere Application Server by using the default options included in the default response file, proceed to Step 9. If you plan to install WebSphere Application Server by creating and using a customized response file, create this file by performing the following steps:
a. Open your copy of the default response file new_install.script in a text editor.
b. Move to the editable area of the response file beginning with the property destinationDirectory. This area of the response file contains editable properties specific to WebSphere Application Server product installation. Use the detailed comments throughout the file and in the table below to guide you through the installation and configuration options available for performing a customized silent installation. The table describes the properties that can be modified and their default values. Review especially the InstallOption property. Your choice for this property can eliminate the need to make changes to other properties within the response file. All properties and values are case-sensitive and must be entered exactly as they appear in the table.
The instructions in the InfoCenter on "Installing DB2 UDB 7.2" and "Configuring DB2 UDB 7.2" state that the directory used for DB2 UDB is /opt/IBMdb2/V7.2 for Solaris and /usr/lpp/db2_07_02 for AIX. The AIX installation might, in fact, use the directory /usr/lpp/db2_07_01. Similarly, the Solaris installation might use the directory /opt/IBMdb2/V7.1, which is the correct directory for installation on the Solaris Operating Environment.
Please ignore the following bullet in InfoCenter article: Configuring DB2 Universal Database (UDB) 7.1 for use with WebSphere Application Server:
And add additional information on how to use the EXTSHM for this section:
Administrative server does not start because AIX environment variable EXTSHM is turned off
If the WebSphere Application Server Advanced Edition is installed on an AIX system with a local DB2 server and the commands below (as described in the InfoCenter) were executed previously to configure DB2, the administrative server should start successfully when first started.
4. Set the EXTSHM environment variable by entering the following commands: $ EXTSHM=ON $ export EXTSHM $ db2set DB2ENVLIST=EXTSHM
Later, when the administrative server is stopped or the system is shut down, DB2 stops as well. However, when you next back up the system and start DB2, the administrative server might fail with the following error when you try to start it:
Could not initialize persistent storage for serious events. Got exception COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. SQLSTATE=55032
To recover from this problem, enter the commands that set the EXTSHM environment variable and restart the server.
To prevent the environment variable from being turned off accidentally again, add the three lines of commands to the db2profile (assuming the db2profile is sourced using .profile) to ensure the variable is always valid.
The first release of WebSphere Application Server Advanced Single Server Edition Version 4.0 had an Execution State field in the console that you could set. This field has since been removed, though the InfoCenter still references it in the article: 6.6.3.0: Application server properties and in the installation information for the Advanced Single Server Edition on UNIX platforms.
Though you can still set the execution state value by modifying the XML file, there is no longer a field in the console that you can modify to change the value of the field. In fact, there is no need to change the value because it controls the initial state of the application server, which must be running for the console to be operational.
In InfoCenter article 8.8: Using internal tools, the correct links for WebSphere Problem Determination Tools, Jdbctest.java, JavaTM Name Tree Browser, and JavaTM Socket Level Trace should be WebSphere Application Server Support Page.
Perform the following steps to get the detail information of those tools on that Web page:
InfoCenter article 0.16.4: How requests map to virtual aliases incorrectly states that URL mappings are case insensitive. Please be aware that all URL mappings are case-sensitive.
In InfoCenter article: Installing the Advanced Edition using DataDirect SequeLink with Oracle 8i in a Custom installation on Windows platform, replace the two bullets under steps for installation with following information:
Installing Oracle 8i:
To use an Oracle database with WebSphere Application Server, you must configure the database:
On Windows NT or 2000 platforms, the initialization file is located at \Oracle\Ora81\database\Initxxx.ora, where xxx is your SID (example, orcl).
system
as the ID
and manager
as the default password. As to the second
command, EJSADMIN_password is the password for EJSADMIN. sqlplus system/manager create user EJSADMIN identified by EJSADMIN_password; grant connect,resource,dba to EJSADMIN; quit
If you are using EJB functionality or use the WebSphere Application Server samples, define an ID for use in deploying entity beans. As to the second command, EJB_password is the password for EJB.
sqlplus system/manager create user EJB identified by EJB_password; grant connect,resource,dba to EJB; quit
If you are using the Advanced Edition and do not want EJSADMIN to have dba authority, do not enter the commands above but, instead, complete the following two steps.
sqlplus system/manager create user EJSADMIN identified by EJSADMIN_password quota 100M on SYSTEM; grant connect,resource to EJSADMIN; create user EJB identified by EJB_password quota 100M on USERS; grant connect,resource to EJB; quit
EJB
(or the User ID you chose to use for enterprise beans)
and then click Apply. After a message displays indicating a successful connection, enter
exit
SQLPLUS EJB/EJB CREATE TABLE INC (PRIMARYKEY VARCHAR(250) NOT NULL, THEVALUE INTEGER) ; ALTER TABLE INC ADD CONTRAINT INCPK PRIMARY KEY (PRIMARYKEY) ;
Testing the installation
:Change all occurences of IBM WS AdminServer to IBM WS AdminServer 4.0 in this section.
InfoCenter article 6.6.0.2.2.2.2: Basic syntax incorrectly states the following information:
The syntax for the wscp command is as follows: wscp [ -h ] [ -c command ] [ -f Tcl_file_name] [ -p properties_file_name] [ -x extension_class] [ [ -- ] options ] [-node node_name]
The correct statement is as follows:
The syntax for the wscp command is: wscp [ -h ] [ -c command ] [ -f Tcl_file_name] [ -p properties_file_name] [ -x extension_class] [ [ -- ] options ]
The following table, which lists the locales supported for the different platforms on WebSphere Application Server Version 4.0, has been updated.
Languages | Windows | AIX | Solaris Operating Environment | HP-UX | Linux Red Hat V7.1 | Linux Red Hat V7.2 | Linux SuSE | Linux SuSE SLES |
Linux/390 SuSE |
Simplified Chinese | X | X | X | ||||||
Traditional Chinese | X | X | X | ||||||
Japanese | X | X | X | X | X | X | |||
Korean | X | X | X | X | |||||
Brazilian Portuguese | X | X | X | ||||||
French | X | X | X | X | X | X | X | ||
German | X | X | X | X | X | X | X | X | X |
Italian | X | X | X | X | X | X | X | ||
Spanish | X | X | X | X | X | X | X |
System levels for platforms :
Windows:
AIX:
Solaris Operating Environment
HP-UX:
Linux/Intel:
LINUX/390:
The following is additional information for InfoCenter article 6.6.29.4: Updating Location Server Daemon configurations with the Web console:
5. (Optional) To have the configuration take effect:
It does not work to just select the Enable box and restart the WebSphere Application Server because a change to the mode parameter needs to be changed from NONE to PROVIDER to allow remote access the WebSphere Application Server.
In the server-cfg.xml file, change the line
<locationServiceDaemon xmi:id="LocationServiceDaemon_1" enable="true" hostname="localhost" port="9000" mode="NONE"/>
to
<locationServiceDaemon xmi:id="LocationServiceDaemon_1" enable="true" hostname="localhost" port="9000" mode="PROVIDER"/>
The following is the correct text for InfoCenter article 6.6.0.2.2.4.8: Creating an enterprise application > Administering modules.
The resources that comprise an enterprise application are grouped according to function into modules. Enterprise applications can contain three types of modules:
The wscp module operations allow you to deploy modules independently from enterprise applications. Application client and EJB modules are installed from Java archive (JAR) files; Web modules are installed from Web archive (WAR) files. When you install a module, wscp actually generates a simple EAR file with the specified JAR or WAR file as its only module. It then installs the EAR file. You can optionally assign such things as security roles, specify JNDI mappings, and specify data sources for enterprise beans.
The wscp module installation operation installs an enterprise application module. The syntax of this operation is:
Module install nodeName module_name -moduleappservers {module_URI appServName} -appName ApplicationName [-modvirtualhosts {module_URIvirtual_host_name}][other options]
where:
To view a complete list of enterprise application attributes, use the EnterpriseApp attributes command. See Querying (displaying) attributes for more information on displaying object attributes.
The following command example shows how to install a Web module. The module type and active module type are Web; the relative URI of the WAR file containing the module is storefront.war; the context root is /WebApp.
wscp> Module install /Node:DS1/ C:/storefront.war -contextroot /WebApp
Correction to InfoCenter article 6.6.18.1a.7: Configuring SSL in WebSphere Application Server > Configuring SSL for the application server HTTPS transport.
7. Import the plug-in certificate.
All of the class path field entries must be separated by spaces instead of semicolons or any other character.
There is a zip file in the WebSphere Application Server Version 4.0.2 Release Note files. The name of the file is /usr/WebSphere/en/InfoCenter/wasa_content/relnotes402.zip. The release notes are actually contained in the relnotes402.html file within the zip file. This will cause your browser to attempt to download the file rather than displaying its contents when its link is selected.
To work around this problem unzip the archive file then perform one of the following methods.
InfoCenter article 6.6.8.0.14: Assembly properties for MIME filters currently states "Specifies the target virtual host for the servlets." This is incorrect. The article should state: "Specifies the name of the target servlet or JSP file."
The PDF migration guide has some words where the blanks are eliminated.
The reference link is:
http://www-3.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/pdf/nav_Migrguide.pdf
Ignore those formatting errors.
Add the following text at the end of the subsection Application in the InfoCenter article 6.5.1: Hot deployment and dynamic reloading.
Change the server group name to an existing, running application
InfoCenter incorrectly states the WebSphere Application Server advanced properties ping interval, ping timeout, and ping initial timeout in terms of milliseconds. The correct values for these advanced properties should be in terms of seconds.
In InfoCenter article 6.6.49: Administering National Language Support, the information in the Supported locales is invalid.
InfoCenter article 5.4.1: Client-side login incorrectly states a property name in the following text:
Specify the properties file on the command line as follows:
-Dcom.ibm.CORBA.ConfigURL=URL of properties fileFor example, to load the sas.client.props file and run the TestClient program, issue the following command:
java -Dcom.ibm.CORBA.client.ConfigURL=file://<install_root> /properties/sas.client.props TestClient
The word client is incorrectly added to the property name in the example.
On page 56 of the PDF document: Building Business Solutions with WebSphere, the correct name of IMS is Information Management System instead of Internet Management Specification.
InfoCenter article 6.6.18.1a.7: Configuring SSL in WebSphere Application Server provides incomplete information. For complete information, refer to Chapter 11.4: Configuring SSL between Web server and WebSphere Application Server of IBM WebSphere V4.0 Advanced Edition Security (IBM Redbook SG24-6520-00).
The following is additional information for InfoCenter article 6.6.a.1: Running the product servers and consoles as non-root:
You might get the following error message when running WebSphere Application Server Advanced Single Server Edition Version 4.0.5 as a non-root user on an AIX platform:
The configuration file was defaulted to: /usr/WebSphere/AppServer/config/server-cfg.xml Using the single available node or the localhost node. Using the single available server. Initiating server launch. Loaded domain "WebSphere Administrative Domain". Selected node "edmaix05". Selected server "Default Server". WSPL0030E: The server launch could not be initiated. WSPL0031E: Exception: Error creating new process. 001: Not owner
To avoid receiving the error, change the following line in the server-cfg.xml file :
from
<executionSettings xmi:id="ProcessExecution_1" umask="022" runAsUser="root"/>
to
<executionSettings xmi:id="ProcessExecution_1" umask="022" runAsUser="adm"/>
In InfoCenter article 6.6.14.5: Additional administrative tasks for specific databases, the following is updated information for the subsection: For Oracle 8.1.7 two phase commit support:
For BMP and servlet, do not change the Isolation Level and Oracle defaults to READ_COMMITTED.
Add the following information to the table Troubleshooting the InfoCenter and GUI help systems located in the InfoCenter article 0.0: Using the InfoCenter to view WebSphere Application Server documentation:
Problem: The browser on a UNIX system is Mozilla and the InfoCenter and help display blank pages or display appear Java or Javascript errors when opening InfoCenter or help topics.
Platforms: All UNIX platforms
Solution:
ejs.console.help.command=mozilla -remote openURL({0});false;mozilla {0}
Back to InfoCenter
Back to possible problems and suggested fixes