Websphere Configuration
From Skyway Wiki
WebSphere 6.1.0.x with EJB3 pack running JDK 5
- WAR Deploy
- Container: WebSphere
- Transactions: Container or Atomikos
- Persistence: Container or Hibernate
- Must manually create the data source through the admin console
Mandatory Configurations
Page Access By default, WebSphere will not allow for URLs that do not point to a physical JSP or HTML page to be accessed. Skyway built applications, like most, use action handlers for invoking logic to keep a clean separation between View (pages) and Control (logic). As Spring MVC is the web infrastructure used by applications built within Skyway, WebSphere must be configured to allow for URLs that do not have physical pages to be accessible. To do this, you must set the custom property of com.ibm.ws.webcontainer.invokefilterscompatibility to true for the application server.
References:
- http://www.mail-archive.com/user@struts.apache.org/msg68306.html
- http://www-1.ibm.com/support/docview.wss?rss=180&uid=swg21284395
Page Parsing
By default, WebSphere will not automatically parse EL expressions on JSPs unless the version of the XSD pointed to is an exact match of the web version supported by the container. By default, Skyway produces a web.xml file that is 2.5 compliant, but will, of course, run on older web containers. An easy solution is to explicitly instruct each JSP to enable ELParsing. Simply adding the bolded attribute to the page tag will enable this.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" isELIgnored="false" %>
If you are creating your JSPs in Eclipse, then this attribute is automatically added if you use Skyway JSP File as the default template when making new JSPs.
Web Sphere and the Dollar Sign "$"
Avoid placing a dollar sign "$" directly to the left-hand-side of a custom tag in your jsps. WebSphere will attempt to parse the $<custom-tag> as EL, which will result in an exception (specifcally an ArrayIndexOutOfBoundsException).
Configuring Websphere 6.1 for Skyway Projects with Webservices
First you need to log into the Websphere Admin console to set up shared libraries. Make sure that the needed jar files are on the file system of the machine hosting Websphere.
The jars that will be needed are:
- jaxws-api-2.1-1.jar
- wsdl4-1.6.1.jar
- geronimo-ws-metadata_2.0_spec-1.1.2.jar
While in the Websphere Administrator console, go to the Environments section and expand it.
- Click the Shared Libraries link.
- Click the New button
- Give the shared library a name.
- In the Class path section, give the absolute path to the necessary jar files. See the example below.
- c:\WSLib\wsdl4j-1.6.1.jar
- c:\WSLib\geronimo-ws-metadata_2.0_spec-1.1.2.jar
- c:\WSLib\jaxws-api-2.1-1.
- In the Class path section, give the absolute path to the necessary jar files. See the example below.
- Click Apply
- Restart Websphere.
After Deploying a Skyway Project to Websphere
After a deploy, go to the Enterprise Applications section under Applications; your app will be listed there with a red x - meaning it's not running.
- Click on the application to be configured; you will be taken to another screen
- Click the Classloading and update detection link; you will get a new page.
- Here, enter a value for the Polling Interval
- Select Classes loaded with application class loader first radio button
- Select Class loader for each WAR file in application radio button
- Click Apply
- Return to the Enterprise Applications section, select the checkbox by the newly configured application and click start, or you can restart the entire server.

