HTTP STATUS 500- Internal Server Error implementing DataSource with WSO 7.1 and JBOSS 4.0.5GA

Document ID : KB000055240
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

If you are running AllFusion Repository For z/OS Webstation Option 7.1 in a JBOSS 4.0.5GA environment using a DataSource connection, the initial login to the product will be successful; however, any additional actions will result in a HTTP STATUS 500- Internal Server Error. The Server.log file contains the following error:
Servlet.service() for servlet WSO threw exception java.lang.ArrayIndexOutOfBoundsException: 0 >= 0.

Solution:

The problem is with the discrepancies in the server.xml of JBoss 4.0.4 and JBoss 4.0.5 releases.

In the JBOSS 4.0.4 server.xml file the following tag is by default commented as follows

-
<!-- Uncomment to check for unclosed connections and transaction terminated checks
     in servlets/jsps.
     Important: You need to uncomment the dependency on the CachedConnectionManager
     in META-INF/jboss-service.xml
<Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
-->
-

The main purpose of this tag is that it releases the connection after the Bean's destruction in the server.
In the JBOSS 4.0.5 server xml file the following tag is by default uncommented.

-
<Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
-

If you comment the above tag in 4.0.5 like it is seen above in the 4.0.4 server.xml file then you will no longer get this error.
The alternative would be to switch to a JDBC (Type 1) Connection.