Я работаю над одним сценарием, в котором мне нужно преобразовать сообщение xml в строку. Это необходимо для последовательности APIM с использованием restAPI.
Ниже приведена последовательность входных сообщений, которая является действительным XML сообщением
<sequencexmlns="http://ws.apache.org/ns/synapse"name="tokenURL">
<propertyxmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:ns3="http://org.apache.synapse/xsd" name="inputmessage" expression="get-property('registry','gov:/token/payload.json')" scope="default" type="STRING"/>
<scriptlanguage="js">varpayload=mc.getProperty("inputmessage");
mc.setPayloadJSON(payload)</script>
<propertyname="messageType" value="application/json" scope="axis2" type="STRING"/>
<propertyname="ContentType" value="application/json" scope="axis2" type="STRING"/>
<callblocking="true">
<endpointname="tokenURL">
<httpmethod="POST" uri-template="https://example.com/login"/>
</endpoint>
</call>
<propertyxmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:ns3="http://org.apache.synapse/xsd" name="accesstoken" expression="json-eval($.token)" scope="transport" type="STRING"/>
</sequence>
Теперь я хочу преобразовать это xml сообщение в строку (получение всего сообщения в одну строку и добавление \ n для получения новых строк), как показано ниже
<sequence xmlns=\"http://ws.apache.org/ns/synapse\" name=\"tokenURL\">\n<property
xmlns:soapenv=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns3=\"http://org.apache.synapse/xsd\"
name=\"inputmessage\" expression=\"get-property('registry','gov:/token/payload.json')\"
scope=\"default\" type=\"STRING\"/>\n <script language=\"js\">var payload =
mc.getProperty(\"inputmessage\"); mc.setPayloadJSON(payload)</script>\n <property
name=\"messageType\" value=\"application/json\" scope=\"axis2\" type=\"STRING\"/>\n
<property name=\"ContentType\" value=\"application/json\" scope=\"axis2\" type=\"STRING\"/>\n
<call blocking=\"true\">\n <endpoint name=\"tokenURL\">\n <http method=\"POST\" uri-
template=\"https://example.com/login\"/>\n </endpoint>\n </call>\n <property
xmlns:soapenv=\"http://www.w3.org/2003/05/soap-envelope\"
xmlns:ns3=\"http://org.apache.synapse/xsd\" name=\"accesstoken\" expression=\"json-
eval($.token)\" scope=\"transport\" type=\"STRING\"/>\n </sequence>
Любые предложения, пожалуйста.
Спасибо