WSO2 ESB中REST请求的计划任务

时间:2015-07-30 08:54:09

标签: web-services rest task wso2esb

我想在WSO2 ESB中安排任务,以便使用宁静的Web服务,并从这些Web服务中每N秒获取一些响应。 在WSO2的任务配置页面中,ESB配置SOAP服务很简单,但REST服务呢?例如,如果我想向此Web服务http://maps.googleapis.com/maps询问一些信息,我该如何配置工作任务?

2 个答案:

答案 0 :(得分:1)

从任务中,您可以通过序列或代理服务将消息注入RESTful端点。有关如何执行此操作的详细信息,请参阅[1]的Injecting messages to RESTful Endpoints部分。

[1] https://docs.wso2.com/display/ESB481/Adding+and+Scheduling+Tasks

答案 1 :(得分:1)

首先,您需要定义一个序列来调用REST端点并将其注入计划任务。请尝试以下示例:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="callAPI">
   <call>
      <endpoint>
         <http method="GET" uri-template="http://testAPI/test"/>
      </endpoint>
   </call>
</sequence>


<task xmlns="http://ws.apache.org/ns/synapse"
      name="testTask"
      class="org.apache.synapse.startup.tasks.MessageInjector"
      group="synapse.simple.quartz">
   <trigger interval="5"/>
   <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"
             name="sequenceName"
             value="callAPI"/>
   <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks"
             name="injectTo"
             value="sequence"/>
   <property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">
      <test xmlns=""/>
   </property>
</task>