WSO2 ESB 如何从端点读取 XML 属性响应

WSO2 ESB how to read XML attribute response from the Endpoint

我已经创建了一个 API 调用和端点以及 return 一些响应。基于端点 return 的响应,我想检索 status 值并继续下一步。

这是我的api.xml样子。

<api context="/sendSms" name="SendSmsApi" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{username}/{password}">
    <inSequence>
        <property expression="get-property('MessageID')" name="msgID" scope="default" type="STRING"/>
        <log level="custom">
            <property expression="$trp:requestId" name="Request ID"/>
            <property expression="get-property('msgID')" name="msgID"/>
        </log>
        <call>
            <endpoint key="SmsLoginEP"/>
        </call>
        <property expression="what should i put here ?" name="response" scope="default" type="STRING"/>
        <log level="custom">
            <property expression="get-property('response')" name="Response"/>
        </log>
        <respond/>
    </inSequence>
    <outSequence>
        <send/>
    </outSequence>
    <faultSequence/>
</resource>

这是我从端点

获得的XML
<rsp status="fail"><err returncode="-2" desc="username record not found."</err></rsp>

我的问题是如何获取属性 status 是失败还是通过并将其插入 属性 调解器,以便之后我可以执行 s 调解器。

您从终结点获得的 XML 格式不正确标记 err 未正确打开。如果假设它看起来像:

<rsp status="fail"><err returncode="-2" desc="username record not found."></err></rsp>

然后你可以使用:/rsp/@status 它将 return fail as string

请参阅此处 Demo