клиентский прокси mulesoft cxf не позволяет экранировать xml - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать веб-сервис SOAP в Mule 3.3.2.Я использую клиентский прокси cxf для генерации ответа SOAP.Я хочу, чтобы часть моего ответа xml была экранирована, как показано ниже:

<?xml version="1.0" encoding="UTF-8"?>
<validateResponse xmlns="abc.exmaple.namespace">
    <validateReturn>
        <accordxmlresponse>
            &lt;?xml version="1.0" encoding="UTF-8"?&gt;
            &lt;TXLife&gt;
            &lt;TXLifeResponse&gt;
            &lt;/TXLifeResponse&gt;
            &lt;/TXLife&gt;
        </accordxmlresponse>
    </validateReturn>
</validateResponse>

I created a transformer to do this using StringEscapeUtils.escapeXml(portionOfResponseXML). But mulesoft is giving me error

Caused by: org.apache.cxf.interceptor.Fault: COULD_NOT_READ_XML_STREAM
    at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:133)
    at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:117)
    at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:113)

Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs.
 at [row,col {unknown-source}]: [5,5]
    at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:612)
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:485)
    at com.ctc.wstx.sr.BasicStreamReader.readPIPrimary(BasicStreamReader.java:3874)

I am not sure how to escape portion of my response xml. Could you please assist me on this.

Thanks
...