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

Reply via email to