2014-09-19 58 views
0

WSO2 ESB路線終點所以幾乎我想打電話給基於結果從DSS

/sendAllUsersAnEmail

這將調用DSS和沿SELECT user_id FROM users WHERE status = 'PENDING'

這裏的線路做一些事情是問題。我如何讓ESB循環訪問結果(或者我可以讓DSS直接調用API?),併爲每個用戶調用/ sendEmail/{user_id}?或者這是不可能的,我是否需要將結果返回到外部語言,並再次調用esb來獲得每個結果。

+0

也許你可以添加一些DS和代理服務配置來理解你想要做什麼。 – 2014-09-21 19:26:19

回答

1

如果我明白你需要it's類似的東西:從待定做在你的系統的東西用戶

你有你的系統裏面數據庫的表,與USER_ID,你需要諮詢這個表,得到的user_id列表,併爲在該列表中的每個條目打了一個電話給RESTful服務傳遞USER_ID

所以我的想法是:

  1. 使用數據服務,以獲得USER_ID列表。
  2. 創建一個代理服務,在seq1中調用這個數據服務,並在seq2中得到結果。
  3. 在SEQ2使用迭代器調解員和拆分的消息成零件,並對其進行處理異步這樣的樣品中:https://docs.wso2.com/display/ESB481/Sample+400%3A+Message+Splitting+and+Aggregating+the+Responses

一個例子:

<iterate expression="//m0:getQuote/m0:request" preservePayload="true" 
     attachPath="//m0:getQuote" 
     xmlns:m0="http://services.samples"> 
    <target> 
     <sequence> 
      <send> 
       <endpoint> 
        <address 
         uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
       </endpoint> 
      </send> 
     </sequence> 
    </target> 
</iterate> 

我希望這可以幫助您。

問候。