You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Kyle Lape (JIRA)" <ji...@apache.org> on 2014/12/22 20:57:14 UTC

[jira] [Created] (CXF-6173) Unable to configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured

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)