我创建了一个休息服务:
<api xmlns="http://ws.apache.org/ns/synapse" name="GetCacheDataAPI" context="/GetCacheData/GetNotifications">
<resource methods="GET" uri-template="?ID={searchValue}" inSequence="GetNotificationsIN" outSequence="GetNotificationsOUT"/>
</api>
在我的InSequence GetNotificationsIN 我的有效负载是:
<payloadFactory>
<format>
<p:Cache xmlns:p="http://tempuri/Notification/">
<in xmlns="">
<xs:ID xmlns:xs="http://tempuri/Notification/">$1</xs:ID>
<xs:TagName xmlns:xs="http://tempuri/Notification/">$2</xs:TagName>
<xs:Category xmlns:xs="http://tempuri/Notification/">$3</xs:Category>
<xs:State xmlns:xs="http://tempuri/Notification/">$4</xs:State>
<xs:SourceID xmlns:xs="http://tempuri/Notification/">$5</xs:SourceID>
</in>
</p:Cache>
</format>
<args>
<arg expression="get-property('uri.var.searchValue')"/>
<arg expression="get-property('uri.var.searchValue')"/>
<arg expression="get-property('uri.var.searchValue')"/>
<arg expression="get-property('uri.var.searchValue')"/>
<arg expression="get-property('uri.var.searchValue')"/>
</args>
</payloadFactory>
现在我已经传递了一个参数,即ID,并且工作正常。但我实现其余服务的实际服务接受五个参数,即ID,Tag,Source,State和Category。在实际服务中,我可以传递任何一个参数,即ID,Tag,Source,State或Priority,服务根据传递的参数给我数据。
Simillarly我想在我的休息服务中做同样的事情,即在uri模板中,我想实现这五个参数,从而制作五个uri模板变量,这些变量由逻辑分开或者如果我点击了休息服务的url使用任何uri模板,它应该给我实际服务的响应。我怎样才能做到这一点?提前致谢