Failure to use new property file WAS_AuthDataFile after V5.0.2 or V5.0.2.x installation may cause launchClient to fail with NamingManager failure with CannotInstantiateObjectException
 Technote (troubleshooting)
 
Problem(Abstract)
A new property file was introduced in V5.0.2, which is documented in the Release note for V5.0.2. It is used with the "no-argument getConnection() call". The property is the WAS_AuthDataFile.

If it is not specified, then applications that worked in V5.0.1 may fail. One particular customer received this failure when launching the client:

WSCL0901I: Component initialization completed successfully.
WSCL0035I: Initialization of the J2EE Application Client Environment has completed.
WSCL0014I: Invoking the Application Client class com.queplix.core.modules.services.ServiceRunner
2003-10-21 09:13:09,643 INFO :ÝServiceRunner¨ - Service runner instance is created
com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is:
com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is
java.lang.Exception: Failed security check. Client is not permitted to create connection factory jdbc/QxDataSource
 
Resolving the problem

Here is an extraction from the V5.0.2 Release Notes, which documents this new property file and paramter to reference it. Please ensure that you review the entire content of the Release Note for V5.0.2, which is available from the WebSphere Application Server support site.

Using the no-argument getConnection() call
If a client running outside the WebSphere Application Server process
does not pass the user and password on the getConnection call, you must
define a text file on each system on which the client runs. This file,
whose name is defined by the system property WAS_AuthDataFile, has
records of the form:
alias1,user1,pw1
For each unique component managed authentication alias defined on a
connection factory or datasource and used by the remote client, you
must define the alias and corresponding user and password to match the
definition of the alias in the WebSphere Application Server.

To create the remote client text file:

Steps for this task

Run %WAS_HOME%\bin\EncAuthDataFile.bat to encode the password as
follows:
EncAuthDataFile c:\client0.txt c:\client1.txt
Be sure to fully qualify the filenames. The file client1.txt for the
above alias, user, and password should now look like this:
alias1,user1,{xor}Lyhu
You must have the client specify the location of the text file in the
system property WAS_AuthDataFile.
This is done on the launchClient invocation by passing the following,
for example:
%WAS_HOME\bin\launchClient.bat myApp.ear -
CCDWAS_AuthDataFile=c:\client1.txt
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > DB Connections/Connection Pooling
Operating system(s): Windows
Software version: 5.0.2.2
Software edition:
Reference #: 1155479
IBM Group: Software Group
Modified date: Dec 17, 2003