我已经在JAVA中实现了REST API。我想定期运行,也就是说,每周在指定时间运行一次。我正在尝试通过SQL Server作业调用Web服务来自动执行此操作。我在设置此电话时遇到麻烦。我读过的每篇文章都暗示这是一个坏主意,或者它的方式太复杂而无法理解。任何人都可以通过简单的方法来帮助建立电话吗?或者,如果有替代方案,那是什么?
我已经尝试过:
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
但是我不确定它是最安全的选择。
答案 0 :(得分:0)
有许多选项可用于配置调度程序以定期调用Web服务调用。
选项1>最简单的方法是在Linux系统中使用cURL实用程序并将其安排在crontab条目中。
示例调用:curl -XGET http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT
选项2>第二个选项可以是在Autosys配置中安排包装外壳脚本。
选项3>如果您使用的是Java生态系统,则可以使用Spring batch scheduling。
答案 1 :(得分:0)
我遇到了另一种选择。您可以在Sql Jobs中运行PowerShell脚本。我编写了脚本来调用Web Service和Sql Job,以每周运行脚本。完美运行。
谢谢。