StaxDataReader concurrency issue when using CXF

Solution In Progress - Updated -

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP) 5.x
  • JBossWS-CXF

Issue

When I place any amount of load on my SOAP endpoint deployed via JBossWS-CXF, I get this exception:

2013-03-23 13:09:56,448 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (ajp-0.0.0.0-8109-2) Interceptor for {http://bpmvrqst.dsh.cms.gov/exchange/1.0}PlanManagementRequestService#{http://bpmvrqst.dsh.cms.gov/exchange/1.0}PlanManagementRequest has thrown exception, unwinding now
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.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:188)
             at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
             at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
             at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
             at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
             at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:186)
             at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
             at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
             at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
             at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
             at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
             at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
             at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
             at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
             at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
             at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
             at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:425)
             at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)
             at java.lang.Thread.run(Thread.java:662)

Resolution

This is fixed in Jira CXF-3332, which is included in EAP 6.0.0+.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.