[
https://issues.apache.org/activemq/browse/SM-1098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43077#action_43077
]
Tammo van Lessen commented on SM-1098:
--------------------------------------
Hi,
as we stumbled upon this issue, too - we tried to track it down and finally
found what might be the cause of the problem:
ElementReader.checkHasMoreChildReaders() performs some kind of lookahead on the
FragmentStreamReader. This has the effect that the cursor of the underlying
stax reader has moved too and is not anymore at the position it should be to
parse the next parts (i.e. it cannot rewind). Setting the loglevel do DEBUG
causes the transformation of the message to DOM (see
MessageExchangeImpl.display(...)) which finally results in getting a
W3CDOMStreamReader from StAXSourceTransformer.toXMLStreamReader(...) as the
underlying StreamReader. This class is, as opposed to the FragmentStreamReader,
capable of maintaining the original position during ElementReader's processing.
There are IMO two workarounds:
a) Setting the log level to DEBUG for
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue
b) Adding a DOM-requiring handler to the HTTP endpoint
Both are dirty hacks and cannot be recommended.
> Loop in StAX ElementReader while executing web service
> ------------------------------------------------------
>
> Key: SM-1098
> URL: https://issues.apache.org/activemq/browse/SM-1098
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-http, servicemix-jsr181
> Affects Versions: 3.1.2
> Reporter: Gert Vanthienen
> Attachments: Webservice-test.zip
>
>
> Cfr. mailing list
> http://www.nabble.com/Webservice-call-failes-when-log4j-level-is-set-to-DEBUG.-tf4575623s12049.html#a13096235
> The user already provided us with an example of a failing SA
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.