Hi,
I am trying to send a SOAP request using Apache Axis 1.3. An element
in the SOAP body requires the text to be wrapped in CDATA element.
The code snippet is as follows:
String stringToBeWrapped = "A'B'C'D";
OMElement elementWhichNeedsCData = ....;
TextImpl omText = (TextImpl)
bodyElement.getOMFactory().createOMText(stringToBeWrapped);
omText.setType(XMLStreamConstants.CDATA);
elementWhichNeedsCData.addChild(omText);
The code compiles without any problems. However the SOAP request is as
follows:
<soapenv:Body
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
urity-utility-1.0.xsd" wsu:Id="Id-17777129">
<s1:EdiCustomsDeclaration
xmlns:s1="http://www.examples.com/schemas/custom/edi/v1">
<![CDATA[A'B'C'D]]>
</s1:EdiCustomsDeclaration>
</soapenv:Body></soapenv:Envelope>
The CDATA text element has > and < escape characters.
When I print the omText value, I can see the CDATA construct intact. But
the SOAP message shows something else.
How do I prevent escape characters from appearing in the CDATA
construct? Please help.
Regards,
Vinay Cardoza