WebSphere servlet resources in your Connections 5.5 extension

If you're deploying an application that executes in the Connections 5.5 WebSphere server, then you may face this issue. Starting from version 3.0, a servlet container allows you to package resources (html, js, jsp...) within the application classpath, under META-INF/resources. Per the servlet spec, these resources can be located in jar files, deployed in WEB-INF/lib. We now heavily use this capability as our components are packaged as self-contained jar files, including both the java code and the web resources.

If this worked well in C4.5+, it stopped working with C5.5. Actually, the java classes from the custom jar files are properly loaded, but none of the embedded resources are served by the web server. After some investigation, we found out that the way the jar file is created makes it work or not. Precisely, if you create the jar from Eclipse (export...) then it does *not* work. Same if you package it using the Windows internal zip capability. If you recreate it using 7-zip, then it starts work... There must be some subtle internal differences between these compressors, and the new WebSphere seems to be very sensitive. If you have the issue, you now have a workaround :-).

The problem has been reported to IBM, with all the pieces to easily reproduce it. A PMR was created several weeks ago. But so far, no solution/fix has been provided. This is one of these cross organization problems where ICS argues that it is a WebSphere problem, while the WebSphere team doesn't show a lot of interests. 


Comments