Я пытаюсь получить тег Decision
внутри ответа PDP с Xpath3 на Anypoint mule.Как получить теги внутри CDATA с Xpath3 в Anypoint Mule?
Это реакция PDP:
<ns:getDecisionResponse xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://org.apache.axis2/xsd">
<ns:return><![CDATA[<Response xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"><Result><Decision>Indeterminate</Decision><Status><StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:syntax-error"/><StatusMessage>Invalid request : DOM of request element can not be created from String</StatusMessage></Status></Result></Response>]]></ns:return>
</ns:getDecisionResponse>
Проблема заключается в том, что я не могу получить доступ к тегам, которые внутри CDATA. Это то, что я пытаюсь сделать:
#[xpath3('/ns:getDecisionResponse/ns:return/(the problem is here...)',payload, 'STRING')]
Заранее спасибо!
Хуан Андрес
Внутри CDATA нет меток. Это то, что означает CDATA: «вещи здесь могут быть похожими на теги, но они не являются: их следует рассматривать как символьные данные». Если CDATA используется неправильно, как здесь, вам нужно будет извлечь содержимое CDATA в виде текста и отправить его в XML-парсер. –