Soap WSO2 ESB 5.0如何将值xml元素恢复到cdata部分?

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

你好,WSO2 ESB社区

我们是WSO2的新手。我们需要帮助来解决这个问题。 我们开发了一个代理,它接收这样的soap消息

    <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>