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

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

     [ https://issues.apache.org/jira/browse/CXF-6173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-6173.
------------------------------
       Resolution: Fixed
    Fix Version/s: 3.0.4
         Assignee: Daniel Kulp

> 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
>            Assignee: Daniel Kulp
>             Fix For: 3.0.4
>
>
> {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)