Soap WSO2 ESB 5.0如何将值xml元素恢复到cdata部分?
你好,WSO2 ESB社区 我们是WSO2的新手。我们需要帮助来解决这个问题。 我们开发了一个代理,它接收这样的soap消息Soap WSO2 ESB 5.0如何将值xml元素恢复到cdata部分?,soap,wso2,esb,cdata,Soap,Wso2,Esb,Cdata,你好,WSO2 ESB社区 我们是WSO2的新手。我们需要帮助来解决这个问题。 我们开发了一个代理,它接收这样的soap消息 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:es="http://es.ata"> <soapenv:Header></soapenv:Header> <soapenv:Bod
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:es="http://es.ata">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
<es:rc>
<es:xml><![CDATA[<message date="2017-03-02" id="ATA001">.....</message>]]></es:xml>
<es:rc>
</soapenv:Body>
</soapenv:Envelope>
.....]]>
如何恢复属性值“id”
有人能帮我们吗
提前感谢。在属性类型OM(xml)中提取es:xml内容,并在此内容中使用XPath 将负载发送到此示例代理并查看wso2-esb-service.log,您将发现“id=ATA001”
但是为什么你的标题会对我们大喊大叫?问题到底是什么?抱歉,我没有格式化xml代码。非常感谢,我会尝试一下。嗨,Jean Michel,如何使用XPath将元素放入有效负载中,如“代码”放入<代码>....]]>。谢谢大家。我已经解决了这个问题,我使用了下一个表达式。获取属性('CDATA有效负载')/*[local-name()='code']
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="TestSOF" transports="http" startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<property xmlns:es="http://es.ata" name="CDATAPAYLOAD" expression="$body/es:rc/es:xml" type="OM"/>
<property name="ID_VALUE" expression="get-property('CDATAPAYLOAD')/@id"/>
<log level="custom">
<property name="id" expression="get-property('ID_VALUE')"/>
</log>
</inSequence>
</target>
</proxy>