我像这样在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映射值作为属性。 “到”操作对于CheckTest是/ Test / CheckTest,对于TransferTest是/ Test / TransferTest。我想获取url映射值或动态选择的资源。我该怎么办?
<property name="urlMappingValue" expression=?/>
答案 0 :(得分:2)
您需要使用带有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>