从 wso2 中的 'To' 操作获取字符串
Get string from 'To' action in wso2
我在 wso2ei 中创建了一个 api,如下所示:
<api xmlns="http://ws.apache.org/ns/synapse" name="Test" context="/Test" version="/" version-type="context">
<resource methods="POST" url-mapping="/CheckTest" inSequence="TestSequence">
<outSequence>
<send/>
</outSequence>
</resource>
<resource methods="POST" url-mapping="/TransferTest" inSequence="TestSequence">
<outSequence>
<send/>
</outSequence>
</resource>
</api>
向序列发送消息后,我想获得 url-映射值作为 属性。 'To' CheckTest 的操作是 /Test/CheckTest,TransferTest 的操作是 /Test/TransferTest。我想获得 url-映射值或动态选择的资源。我该怎么做?
<property name="urlMappingValue" expression=?/>
您需要使用 uri-template 资源,然后通过 uri.var.
访问 属性 中的 uri 部分
<api xmlns="http://ws.apache.org/ns/synapse" name="Test" context="/Test">
<resource methods="POST" uri-template="/{method}">
<inSequence>
<property name="method" expression="get-property('uri.var.method')" scope="default" type="STRING"/>
<switch source="get-property('uri.var.method')">
<case regex="CheckTest">
... Your logic for Check Test...
</case>
<case regex="TransferTest">
... Your logic for Transfer Test...
</case>
</switch>
</inSequence>
</resource>
</api>
我在 wso2ei 中创建了一个 api,如下所示:
<api xmlns="http://ws.apache.org/ns/synapse" name="Test" context="/Test" version="/" version-type="context">
<resource methods="POST" url-mapping="/CheckTest" inSequence="TestSequence">
<outSequence>
<send/>
</outSequence>
</resource>
<resource methods="POST" url-mapping="/TransferTest" inSequence="TestSequence">
<outSequence>
<send/>
</outSequence>
</resource>
</api>
向序列发送消息后,我想获得 url-映射值作为 属性。 'To' CheckTest 的操作是 /Test/CheckTest,TransferTest 的操作是 /Test/TransferTest。我想获得 url-映射值或动态选择的资源。我该怎么做?
<property name="urlMappingValue" expression=?/>
您需要使用 uri-template 资源,然后通过 uri.var.
访问 属性 中的 uri 部分<api xmlns="http://ws.apache.org/ns/synapse" name="Test" context="/Test">
<resource methods="POST" uri-template="/{method}">
<inSequence>
<property name="method" expression="get-property('uri.var.method')" scope="default" type="STRING"/>
<switch source="get-property('uri.var.method')">
<case regex="CheckTest">
... Your logic for Check Test...
</case>
<case regex="TransferTest">
... Your logic for Transfer Test...
</case>
</switch>
</inSequence>
</resource>
</api>