1 Reply Latest reply on Jul 21, 2010 4:39 PM by Mike Fox

    Problem running JBoss Tools generated app on Websphere 7

    Mike Fox Newbie

      I've been developing a Seam 2.2.0.GA application for a couple of months now and just had the new requirement dropped on me that it needs to run on Websphere.  I've gone through the jee5-booking example from the documentation and successfully deployed and started that (I had to add a few extra libraries to the ear.lib.extras fileset in the build.xml that weren't mentioned, but I got there).  It seems to work fine.


      Now I'm trying to get my application to do the same.  I believe my problem stems from the fact that I used jboss-tools to create the EAR project, and that will set things up quite differently.  For example, the changes in ejb-jar.xml and web.xml to remove local from the ejb-ref-name tags doesn't help - there are no ejb-ref-name tags.


      I managed to get to the point of being able to deploy and start the application by altering my build.xml in the EAR to include all of the jars from my jboss installation and all of the jars from seam:



              <fileset dir="${seam.dir}">
                <include name="lib/*"/>
           </fileset>
      
           <fileset dir="${env.JBOSS_HOME}">
                     <include name="lib/*"/>
           </fileset>



      (note - I did run through adding jars one by one, but I was getting nowhere and took the shortcut of seeing if adding all of them would change my results to save time intending to go back to adding sub-sets and finding the magic combination if there was one).


      When I start the app and try to access the first page, I get an error on the screen that says

      Error 500: javax.servlet.ServletException: Filter [Seam Filter]: could not be initialized

        The stack trace in the Websphere log looks like this:




      com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[Faces Servlet]: java.lang.NullPointerException
              at org.jboss.seam.servlet.SeamFilter.getSortedFilters(SeamFilter.java:112)
              at org.jboss.seam.servlet.SeamFilter.init(SeamFilter.java:93)
              at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:140)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:535)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:449)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:308)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:366)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:847)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:932)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:500)
              at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
              at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3810)
              at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
              at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
              at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
              at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:183)
              at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
              at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
              at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
              at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
              at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
              at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
              at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
              at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
              at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
              at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
              at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
      



      Has anyone run into this issue before?  I'd certainly appreciate any insight or solutions people might have.


      Thanks,
      Mike