Hi,
I have a requirement to generate xml that should have request payload enclosed within CDATA.
I was trying with test example
------
java main method------
OutputFormat format = new OutputFormat(Method.XML, "UTF-8", true);
String[] cdata = {"castor:Client","castor:Address"};
format.setCDataElements(cdata);
format.setNonEscapingElements(cdata);
StringWriter writer = new StringWriter();
//Create the serializer
XMLSerializer serializer = new XMLSerializer(writer, format);
Marshaller marshaller = new Marshaller(serializer.asDocumentHandler());
marshaller.setMapping(mapping);
marshaller.marshal(order);
--------
Mapping<mapping>
<class name="com.xyz.test.MyOrder" >
<map-to xml="Order"
ns-uri="
http://castor.org/sample/mapping/"
ns-prefix="castor"/>
<field name="ClientData"
type="com.xyz.test.ClientData">
<bind-xml name="Client"/>
</field>
</class>
<class name="com.xyz.test.ClientData">
<map-to ns-uri="
http://castor.org/sample/mapping/"
ns-prefix="castor"/>
<field name="Name"
type="java.lang.String">
<bind-xml name="Name" node="element"/>
</field>
<field name="Address"
type="java.lang.String">
<bind-xml name="Address" node="element"/>
</field>
</class>
----------------
Current out put xml<?xml version="1.0" encoding="UTF-8"?>
<castor:Order xmlns:castor="
http://castor.org/sample/mapping/"
reference="sss" total-price="12.3">
<castor:Client>
<castor:Name>SQ</castor:Name>
<castor:Address><![CDATA[ABC><!#@]]></castor:Address>
</castor:Client>
</castor:Order>
-----------------
Expected out put xml
<?xml version="1.0" encoding="UTF-8"?>
<castor:Order xmlns:castor="
http://castor.org/sample/mapping/"
reference="sss" total-price="12.3">
<castor:Client>
<![CDATA[ <castor:Name>SQ</castor:Name>
<castor:Address><![CDATA[ABC><!#@]]></castor:Address>
]] </castor:Client>
</castor:Order>
Please suggest how can I get the xml structure into the CDATA ?