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

Daniel Kulp updated CXF-3132:
-----------------------------

    Attachment: non-recurse.patch


Freeman,

The testcase and the "fix" added to cxf/trunk really "fixes" the wrong thing, 
or, at the very least, is incomplete.

The proper fix, in this case, is to fix StaxUtils.   I've attached a patch that 
fixes that to make the StaxUtils be non-recursive.     However, that causes 
your test to now fail as it relies on the broken behavior.   

The test needs to be updated to mimic the behavior without relying on the 
broken behavior in StaxUtils.  My suggestion would be to add an interceptor on 
the client side that just throws some sort of RuntimeException.   That would 
also remove the 500K sample response which just wastes disk space.  



> asynchronous client can't get correct error if non-runtimeexcpetion happen
> --------------------------------------------------------------------------
>
>                 Key: CXF-3132
>                 URL: https://issues.apache.org/jira/browse/CXF-3132
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.3.0, 2.2.11
>            Reporter: Freeman Fang
>            Assignee: Freeman Fang
>             Fix For: 2.2.12, 2.3.1, 2.4
>
>         Attachments: CXF-3132-testcase.patch, non-recurse.patch
>
>
> when use asynchronous cxf client handler, if there's a non-runtimeexception 
> thrown, the asynchronous client handler can't get correct reason but get 
> TimeoutException.
> For example if client receive a very complex soap message response with a 
> greate amount of element level like
> <soap:envelope><soap:body><a1><a2>...<an></an>...</a2</a2></soap:body></soap:envelope>
> here n could be very big which can cause StackOverflowError in StatxUtils as 
> StatxUtils use recursive way to parse soap message.
> In this case if we use asynchronous cxf client, the client has no way to know 
> there's a StackOverflowError but just get TimeoutException.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to