定期调用Web服务



我已经用JAVA实现了一个REST API。我想定期运行,也就是说,每周在指定的时间运行。我正试图通过SQL服务器作业调用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-XGEThttp://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT

选项2>第二个选项可能是在Autosys配置中调度包装外壳脚本。

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

我发现了另一种选择。您可以在Sql作业中运行PowerShell脚本。我编写了调用Web Service的脚本,并编写了Sql Job来每周运行脚本。工作非常完美。

谢谢。

相关内容

  • 没有找到相关文章

最新更新