簡體   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