我创建了一个API女巫调用和Endpoint,并返回了一些响应。基于Endpoint返回的响应,我想要检索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
是失败还是通过,然后将其插入属性中介器,以便在此之后执行切换中介器。
答案 0 :(得分:2)
从端点获取的XML格式不正确,err
标签未正确打开。如果是这样的话:
<rsp status="fail"><err returncode="-2" desc="username record not found."></err></rsp>
然后您可以使用:/rsp/@status
,它将以字符串形式返回fail
在此处查看Demo。