Fix (APAR): PK60073 Status: Fix Release: 6.1.0.9,6.1.0.7,6.1.0.5,6.1.0.3,6.1.0.15,6.1.0.13,6.1.0.11,6.1.0.1 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux zSeries,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: PK60073 Byte size of APAR: 9197 Date: 2008-02-27 Abstract: Wrong or misleading exception is thrown when setting database tables Description/symptom of problem: PK60073 resolves the following problem: ERROR DESCRIPTION: When trying to create a DB with VMM and a wrong userid/password is specified, then the exception thrown by VMM is a ClassNotFoundException where it should be a [12/14/07 17:59:57:671 CET] 00000023 SystemErr R Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL30082N Attempt to establish connection failed with security reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001 thrown exception [wplc-create-db-tables] Result: [com.ibm.websphere.wim.exception.WIMSystemException: CWWIM1999E An exception occurred during processing: COM.ibm.db2.jdbc.app.DB2Driver ] [wplc-create-db-tables] com.ibm.websphere.wim.exception.WIMSystemException: CWWIM1999E An exception occurred during processing: COM.ibm.db2.jdbc.app.DB2Driver [wplc-create-db-tables] at com.ibm.ws.wim.dao.schema.JDBCConnection.getConnection(JDBCConn ection.ja va:90) accessed the second exception by patching com.ibm.ws.wim.dao.schema.JDBCConnection: try { Iterator keyIter= jdbcProperties.keySet().iterator(); System.out.println("jdbcProperties:"); while (keyIter.hasNext()) { String element = (String) keyIter.next(); System.out.println(element+"="+jdbcProperties.getProperty(elemen t)); } Class class1 = loadJDBCClass(); Object obj = class1.newInstance(); Method method = class1.getMethod("connect", new Class[] { String.class, Properties.class }); connection = (Connection) method.invoke(obj, new Object[] { jdbcURL, jdbcProperties }); } catch (Exception exception) { exception.printStackTrace(); // this exception gets completely lost without this path... try { if (jdbcDriver != null) Class.forName(jdbcDriver); // this leads to the thrown ClassNotFoundException LOCAL FIX: PROBLEM SUMMARY USERS AFFECTED: Websphere Application Server 6.1 users who use federated repositories (virtual member manager). PROBLEM DESCRIPTION: Wrong or misleading exception is thrown when setting database tables RECOMMENDATION: None When setting up database tables with setupIdMgrDBTables CLI and a wrong userid/password is specified, then a ClassNotFoundException is thrown, instead of the following database error regarding userid/password: [12/14/07 17:59:57:671 CET] 00000023 SystemErr R Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL30082N Attempt to establish connection failed with security reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001 thrown exception PROBLEM CONCLUSION: The problem has been fixed. The correct exception will be thrown. This fix is targeted for fixpack 6.1.0.17. Please refer to the recommended updates page for delivery information: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: Fix applies to Editions: Release 6.1 x__ Application Server (Express or BASE) x__ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer x__ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes x__ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.1.0.13 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy 6.1.0.0-WS-WAS-IFPK60073.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (6.1.0.0-WS-WAS-IFPK60073.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (6.1.0.0-WS-WAS-IFPK60073.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: