Fix (APAR): PK65692 Status: Fix Release: 6.1.0.9,6.1.0.17,6.1.0.15,6.1.0.13,6.1.0.11 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux zSeries,OS/400,Solaris,Windows Supersedes Fixes: CMVC Defect: PK65692 Byte size of APAR: 8418 Date: 2008-06-20 Abstract: The load of a web module deployment descriptor that references "web-app_2.2.dtd" fails with an EmptyResource exception. Description/symptom of problem: PK65692 resolves the following problem: ERROR DESCRIPTION: Portlets fail in WebSphere Portal V6.1, throwing an EmptyResourceException. This exception occurs because a required DTD file, "web-app_2.2.dtd" is missing from the plugin jar file "com.ibm.ws.wccm_6.1.0.jar". The DTD file is present (at a different location) in the WebSphere Application Server version 5.1 installation image. The failure occurs because of references to "web-app_2.2.dtd" in web module deployment descriptor files (WEB-INF/web.xml). The preferred reference is to "web-app_2_2.dtd", however, references to "web-app_2.2.dtd" must still work for backwards compatibility. For example, the EmptyResourceException will contain the text: org.eclipse.jst.j2ee.commonarchivecore.internal.exception.EmptyR esourceE xception: WEB-INF/web.xml at org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil .getRoot (ArchiveUtil.java:417) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.XmlBase dImportS trategyImpl.primLoadDeploymentDescriptor(XmlBasedImportStrategyI mpl.java :42) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War22Im portStra tegyImpl.loadDeploymentDescriptor(War22ImportStrategyImpl.java:8 7) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.War22Im portStra tegyImpl.importMetaData(War22ImportStrategyImpl.java:81) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getDepl oymentDescriptor(WARFileImpl.java:145) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl .getStan dardDeploymentDescriptor(WARFileImpl.java:301) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveCopy Utility. copy(ArchiveCopyUtility.java:106) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.Commonarchi veFactor yImpl.copy(CommonarchiveFactoryImpl.java:232) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl .primAdd CopyRef(EARFileImpl.java:147) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl .addCopy Ref(EARFileImpl.java:164) at com.ibm.ws.management.application.client.AppInstallHelper.create EarWrapp er(AppInstallHelper.java:533) at com.ibm.ws.management.application.client.AppInstallHelper.create EarWrapp er(AppInstallHelper.java:356) at com.ibm.websphere.management.application.AppManagementHelper.wra pModule( AppManagementHelper.java:96) at com.ibm.wps.pe.mgr.appserveradmin.helper.WrapWarFile.wrap(WrapWa rFile.ja va:109) Additional lines have been omitted from this stack trace. LOCAL FIX: None PROBLEM SUMMARY USERS AFFECTED: All users of IBM WebSphere Application Server V6.1 PROBLEM DESCRIPTION: The load of a web module deployment descriptor that references "web-app_2.2.dtd" fails with an EmptyResource exception. RECOMMENDATION: This problem may be resolved by installing the supplied Interim Fix (IFix), by moving up to a service pack level which contains the fix, or by updating Web Module Deployment descriptors as described in the work-around. The failure occurs because "web-app_2.2.dtd" is resolved from the IBM WebSphere Application Server installation files, and is not present in those files. The file was incorrectly removed from the Application Server V6.1 installation files. PROBLEM CONCLUSION: The problem was fixed by adding "web-app_2.2.dtd" back into the IBM WebSphere Application Server installation files. The DTD file was added into files that are packaged in java archive files (JAR files) and is not directly visible in the Application Server files list. The added "web-app_2.2.dtd" DTD file is a copy of the "web-app_2_2.dtd" DTD file. The fix for this APAR is currently targeted for inclusion in fix pack 6.1.0.19. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: Fix applies to Editions: Release 6.0 X_ Application Server (Express or BASE) X_ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: X_ Application Server Nodes X_ 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.0.2.2 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 PKxxxxx.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 (PKxxxxx.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 (PKxxxxx.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: