-
Bug
-
Resolution: Done
-
Major
-
jboss-ws4ee-4.0.2, jboss-ws4ee-4.0.3
-
None
It appears that if my handler returns false, then all subsequent calls to the endpoint fail with index out of bounds issues. When the request handler first returns false I get the following in the log :
14:36:24,203 WARN [InvokerProviderJSE] FIXME: handlerChain.handleRequest() returned false
Subsequent calls then fail in the response call with :
14:36:33,953 ERROR [HandlerChainBaseImpl] RuntimeException in response handler
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.jboss.webservice.handler.HandlerChainBaseImpl.handleResponse(HandlerChainBaseImpl.java:277)
at org.jboss.webservice.handler.ServerHandlerChain.handleResponse(ServerHandlerChain.java:83)
at org.jboss.webservice.server.InvokerProviderJSE.invokeTarget(InvokerProviderJSE.java:117)
at org.jboss.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:121)
at org.jboss.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
at org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160)
at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123)
at org.jboss.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:200)
at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:89)
at org.jboss.axis.transport.http.AxisServlet.doPost(AxisServlet.java:905)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
.........
14:36:33,953 ERROR [InvokerProviderJSE] Error processing response handler chain
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
To simplify the test I wrote a handler that extends Generic Handler as follows :
=======================================================================================
static int count=0;
/**
- (non-Javadoc)
- @see javax.xml.rpc.handler.GenericHandler#handleRequest(javax.xml.rpc.handler.MessageContext)
*/
public boolean handleRequest(MessageContext msgCtx)
public boolean handleResponse(MessageContext msgCtx)
{ return true; }The first call works, second fails, and then any further calls fail with the above stack trace.
================================================================================