You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Iuliia (Jira)" <ji...@apache.org> on 2020/11/05 07:44:00 UTC
[jira] [Comment Edited] (CXF-7058) Extra CDATA elements added on
long CDATA payload
[ 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)