[
https://issues.apache.org/jira/browse/SYNAPSE-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen updated SYNAPSE-216:
------------------------------------
Attachment: synapse-216-patch.txt
TextFileDataSource constructs an InputStream that represents the concatenation
<text> + text + </text>. It then uses this input stream to build an
XMLStreamReader. The problem comes from the fact that "text" is plain text, not
XML text. The attached patch solves this by replacing the custom InputStream
implementation by a custom XMLStreamReader implementation that directly
produces the expected sequence of XML events:
* START_DOCUMENT
* START_ELEMENT
* (CHARACTERS)*n
* END_ELEMENT
* END_DOCUMENT
See also here:
http://mail-archives.apache.org/mod_mbox/ws-synapse-user/200712.mbox/[EMAIL
PROTECTED]
The patch also contains the relevant unit tests.
> TextFileDataSource incorrectly parses data as XML
> -------------------------------------------------
>
> Key: SYNAPSE-216
> URL: https://issues.apache.org/jira/browse/SYNAPSE-216
> Project: Synapse
> Issue Type: Bug
> Components: Core
> Affects Versions: NIGHTLY
> Reporter: Andreas Veithen
> Attachments: synapse-216-patch.txt, TextFileDataSourceTest.java
>
>
> Usage of TextFileDataSource causes the data to be parsed as XML. Therefore,
> characters having a special meaning, such as ampersands, will trigger parsing
> errors. This has significant impact on XSLTMediator when the output of the
> transformation is text data:
> * When the volume of data is below the BYTE_ARRAY_SIZE threshold, the output
> is used to construct an OMText object directly and is not parsed as XML.
> * When the volume is above the threshold, TextFileDataSource is used and the
> output is parsed as XML.
> Therefore transformations that work for small messages may suddenly fail for
> larger messages.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]