2013-06-20 82 views
0

我創建了一個休息的服務爲:在我InSequence的GetNotificationsIN多個URI模板而在WSO2 ESB創建REST服務

<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> 

我的有效載荷是:

<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,標籤,來源,狀態和類別。在實際的服務中,我可以傳遞任何一個參數,即ID,標籤,來源,狀態或優先級,並且服務根據傳遞的參數給出數據。

Simillarly我想在我的休息服務中完全一樣,即在uri模板中,我想實現這五個參數,從而製作五個uri模板變量,這些變量由邏輯運算或者如果我點擊休息的url服務與任何uri模板,它應該給我實際服務的迴應。我怎樣才能做到這一點?在此先感謝

回答

2

如果有多少個查詢,則可以使用url-mapping="/*"而不是uri-template。 檢查post.

+0

感謝您的回覆Ratha,我提供了有效載荷。在這裏你可以看到有5個參數,用戶可以根據上述參數過濾數據。現在假設我想獲取基於源ID的數據,我將瀏覽器中的URL命中爲:http://10.224.188.113:8281/GetCacheData/GetNotifications/SourceId? – Roy