[jira] [Comment Edited] (CXF-7058) Extra CDATA elements added on long CDATA payload

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Comment Edited] (CXF-7058) Extra CDATA elements added on long CDATA payload

Colm O hEigeartaigh (Jira)

    [ https://issues.apache.org/jira/browse/CXF-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226547#comment-17226547 ]

Iuliia edited comment on CXF-7058 at 11/5/20, 7:43 AM:
-------------------------------------------------------

It seems like it is not fully fixed. CDATA is still sent in chunks to the writer after calling StaxUtils.copy() if CDATA contains HTML tags. The example it was tested on: 

<tliste><![CDATA[<!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title></title>
 </head>
 <body>
 <style>.column-name \{background-color: #D3D3D3;font-weight: bold;}</style>

</body>
 </html>]]></tliste>

 

 

After  calling StaxUtils.copy() I've got: 

<tliste><*![CDATA[*<!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">*]]><![CDATA[*
 <title></title>
 </head>
 <body>
 <style>.column-name \{background-color: #D3D3D3;font-weight: bold;}</style>

</body>
 </html>*]]>*</tliste>

 

the version was used: 3.2.2

 


was (Author: ibochkar):
It seems like it is not fully fixed. CDATA is still sent in chunks to the writer after calling StaxUtils.copy() if CDATA contains HTML tags. The example it was tested on: 

<tliste><![CDATA[<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title></title>
</head>
<body>
<style>.column-name \{background-color: #D3D3D3;font-weight: bold;}</style>
 
</body>
</html>]]></tliste>

 

 

After  calling StaxUtils.copy() I've got: 

<tliste><*![CDATA[*<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">*]]><![CDATA[*
 <title></title>
</head>
<body>
<style>.column-name \{background-color: #D3D3D3;font-weight: bold;}</style>
 
</body>
</html>*]]>*</tliste>

> Extra CDATA elements added on long CDATA payload
> ------------------------------------------------
>
>                 Key: CXF-7058
>                 URL: https://issues.apache.org/jira/browse/CXF-7058
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7.18, 3.1.7
>         Environment: All
>            Reporter: Rodrigo Merino
>            Assignee: Daniel Kulp
>            Priority: Major
>             Fix For: 3.1.8, 3.0.13
>
>         Attachments: headerSoapReqLongCdata.xml
>
>
> When calling StaxUtils.copy() with a source xml that contains a long CDATA section, that long CDATA is sent in chunks to the writer, with each chunk being wrapped in a CDATA independently.
> For instance, {code}<![CDATA[a..z]]>{code} in the source ends in the destination as {code}<![CDATA[a.]]><![CDATA[.z]]>{code}
> This can be verified by running the test org.apache.cxf.staxutils.StaxUtilsTest.testCopy() with the attached xml file (headerSoapReqLongCdata.xml).
> I reported this initially to woodstox (https://github.com/FasterXML/woodstox/issues/21 and https://github.com/FasterXML/woodstox/issues/22),, but from Tatu's last answer (https://github.com/FasterXML/woodstox/issues/22#issuecomment-246254486) is is something that should be handled in CXF's StaxUtils.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)