Kyle Lape created CXF-6173:
------------------------------
Summary: Unable to configure CXF StAX properties on a
per-endpoint/client basis if a JAX-WS handler is configured
Key: CXF-6173
URL: https://issues.apache.org/jira/browse/CXF-6173
Project: CXF
Issue Type: Improvement
Components: Soap Binding
Reporter: Kyle Lape
{noformat}
Caused by: org.apache.cxf.staxutils.DepthExceededStaxException: reach the
innerElementCountThreshold:50000
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:726)
at
org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223)
at
org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:257)
at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:161)
at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124)
at
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624)
{noformat}
This happens because the {{SAAJInInterceptor}} invokes {{StaxUtils.copy()}}
with the value of the fourth argument as {{true}}, which means {{StaxUtils}}
uses its static properties to check {{innerElementLevelThreshold}} and
{{innerElementCountThreshold}}. If the {{XMLStreamReader}} passed in to the
method has custom values for these properties, they are ignored.
I'm not sure if this behavior is intentional or not, but if it's not, then it
would be nice to allow the properties on the {{XMLStreamReader}} to take
precedence.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)