2014-09-19 39 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> 

我希望这可以帮助您。

问候。