一個老朋友計劃開發一個應用,基於 .NET 和 Socket,但須要在存儲過程當中調用 Web 服務。web
在這篇文章中咱們將分享這個應用的經驗,講述如何在存儲過程當中調用 Web 服務,並傳遞參數。數據庫
首先咱們在 Visual Studio 中建立一個 Web 服務項目:瀏覽器
接下來在服務中添加咱們須要的方法,在這裏咱們建立 6 個方法,分別是 Greet (string Param1)
,HelloWord()
, Add
, subtract
, 和 Divide
(Num1 int, int num2)ide
而後開始建立存儲過程,在我全部文章中都是使用 AdventureWorks 數據庫,這是我本身的一些測試數據項目。測試
接下來在 IIS 中發佈 Web 服務編碼
而後開始在存儲過程當中編碼訪問 Web 服務code
在建立過程當中,咱們傳遞一個參數,這是waitingSaludar()方法的參數,若是他們想使用其餘的方法,應該建立另外一個參數,正如我上面提到的其餘方法,須要兩個整型的參數。開發
在使用 sp_OAMethod 存儲過程時有一些事情是很是重要的,該方法等待 POST 和 GET 方法,默認是經過 POST 方法,但若是使用這個方法咱們將沒法獲取到 XML 輸出,所以這裏必須用 GET 方法。get
接下來咱們如今瀏覽器上測試 Web 服務,打開網址 http://localhost/WebServices/Service1.asmx ,這將顯示 Web 服務提供的全部方法:webservice
選擇咱們想調用的方法,而後輸入參數後就可調用
作完這個後會打開另一個頁面,包含 XML 中的信息和參數
而後咱們執行剛建立的存儲過程
調用後會獲得以下輸出
下面就是結果,跟在瀏覽器上調用的同樣。