繁体   English   中英

定期调用Web服务

[英]Calling Web Service periodically

我已经在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

但是我不确定它是最安全的选择。

有许多选项可用于配置调度程序以定期调用Web服务调用。

选项1>最简单的方法是在Linux系统中使用cURL实用程序并将其计划在crontab条目中。

调用示例:curl -XGET http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT

选项2>第二个选项可能是在Autosys配置中安排包装Shell脚本。

选项3>如果您使用的是Java生态系统,则可以使用Spring批处理调度

我遇到了另一个选择。 您可以在Sql Jobs中运行PowerShell脚本。 我编写了脚本来调用Web Service和Sql Job,以每周运行脚本。 完美运作。

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM