Michael_McDonal
16 years agoOccasional Contributor
Mock Service response wrapped in CDATA tag when embedding CDATA
I am using the OnRequest script in a Mock Service to return XML constructed with MarkupBuilder. When I do the following:
I get this response:
which is as desired. If however I embed CDATA in the response like so:
I get the following:
Why the inconsistent response?
Thanks.
import groovy.xml.MarkupBuilder
def writer = mockRequest.getHttpResponse().getWriter()
def xml = new MarkupBuilder( writer )
xml.result {
detail("Some text")
}
writer.close()
I get this response:
<result>
<detail>Some text</detail>
</result>
which is as desired. If however I embed CDATA in the response like so:
detail( xml.yieldUnescaped("<!CDATA[" + "Some text" + "]]>"))
I get the following:
<data contentType="null" contentLength="63"><![CDATA[<result><!CDATA[Some text]]>
<detail />
</result>]]></data>
Why the inconsistent response?
Thanks.