[ 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.