Периодически вызывая веб-сервис - PullRequest
0 голосов
/ 04 декабря 2018

Я реализовал REST API в JAVA.Я хочу запускать это периодически, то есть каждую неделю в указанное время.Я пытаюсь автоматизировать это, вызывая веб-сервис через задание сервера SQL.У меня проблемы с установкой этого звонка.Каждая статья, которую я читал, говорила, что это плохая идея или слишком сложна для понимания.Может кто-нибудь помочь с простым способом установить вызов?Или есть альтернативы?

Я уже пробовал:

Declare @Object as Int;
Declare @ResponseText as Varchar(8000);

Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
                                                              'http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT', --Your Web Service Url (invoked)
                                                              'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

Select @ResponseText

Exec sp_OADestroy @Object

Но я не уверен, что это самый безопасный вариант.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Я наткнулся на другую альтернативу.Вы можете запустить PowerShell Script в Sql Jobs.Я написал скрипт для вызова Web-сервиса и Sql Job, чтобы запускать скрипт каждую неделю.Работает отлично.

Спасибо.

0 голосов
/ 04 декабря 2018

Существует несколько параметров, доступных для настройки планировщика на периодический вызов вызова веб-службы.

Вариант 1> Самый простой способ - использовать утилиту cURL в системе linux и запланировать ее в записи crontab .

Пример вызова:curl -XGET http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT

Опция 2> Второй вариант - запланировать сценарий оболочки оболочки в конфигурации Autosys .

Вариант 3> Если вы используете экосистему Java, мы можем использовать пакетное планирование Spring .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...