[
https://issues.apache.org/jira/browse/WSCOMMONS-550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12886424#action_12886424
]
Myles Bunbury commented on WSCOMMONS-550:
-----------------------------------------
Suggested fix, based on the v1.2.8 code:
In OMTextImpl.getText(), change:
return TextHelper.toString(getInputStream());
to:
this.value = TextHelper.toString(getInputStream());
return this.value;
The idea is to discountinue use of the inputstream, and store the string that's
been generated for future use. Perhaps some cleanup of the original datahandler
would be useful too.
> OMTextImpl.getText() only works once with a datahandler
> -------------------------------------------------------
>
> Key: WSCOMMONS-550
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-550
> Project: WS-Commons
> Issue Type: Bug
> Components: AXIOM
> Affects Versions: Axiom 1.2.8
> Reporter: Myles Bunbury
>
> When OMTextImpl relies on an underlying datahandler's inputstream, a call to
> getText() can be a one shot deal. Once the datahandler's inputstream is
> consumed, the encapsulated data is lost and subsequent calls to getText()
> return "".
> I ran into this situation using Synapse with debug logging enabled. A debug
> log message printed out the entire SOAP envelope to the log, thereby
> consuming the binary data wrapped by OMTextImpl. When later on the SOAP
> envelope was transmitted via the SendMediator, the OMTextImpl could no longer
> supply the data.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.