2015-07-30 1 views
1

Я хотел бы запланировать задачи в WSO2 ESB, чтобы использовать спокойные веб-сервисы и получать от этих веб-сервисов несколько ответов каждые N секунд. На странице конфигурации задачи в WSO2 ESB настройка SOAP-услуг проста, но как насчет служб REST? Например, если я хочу задать некоторую информацию этому веб-сервису http://maps.googleapis.com/maps, как мне настроить рабочую задачу?Запланированные задачи для запроса REST в WSO2 ESB

ответ

1

Из задачи вы можете вводить сообщения в конечные точки RESTful через последовательность или прокси-службу. Обратитесь к разделу Injecting messages to RESTful Endpoints [1] для получения более подробной информации о том, как это сделать.

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

+0

Спасибо, этот пример работает хорошо. Теперь я хотел бы воспроизвести эти шаги с помощью другой прокси-службы, например, карт Google, упомянутых выше, и я не знаю, где найти список команд, которые мне нужно вставить в свойствах inSequence службы прокси. Я нашел это на https://developers.google.com/maps/documentation/directions/intro, но я не могу получить информацию о правильном использовании с полями свойств прокси. – FDC

+0

Другим интересным сайтом является https://www.flickr.com/services/api/request.rest.html, но я не могу получить информацию о том, как установить мои свойства в службе прокси для запросов на отправку. – FDC

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> 
Смежные вопросы