如何从存储过程中调用 Web 服务






4.91/5 (62投票s)
学习如何在存储过程中调用 Web Service。
引言
有一次,一位老朋友正在计划使用 .NET 和 sockets 的应用程序,并且需要从存储过程中调用 WebServices。
在本文中,我将分享这段经验,以便其他程序员学习如何从存储过程中发送参数来调用 WebService。
步骤 1
我们必须在 Visual Studio 中创建我们的 WebServices 项目。
步骤 2
然后继续创建我们在服务中使用的那些方法,在我的例子中,我创建了 6 个方法:Greet (string Param1)
期望一个 String
作为参数,HelloWord()
不期望任何参数,而 Add
、subtract
和 Divide
方法 (Num1 int, int num2) 期望两个整数作为参数。
步骤 3
继续创建我们的存储过程,该存储过程将包含所有调用我们刚刚创建的 Web Services 的代码。就像我所有的文章一样,我使用的数据库是 AdventureWorks,它是 SQL Server 提供的测试数据基础。
步骤 4
然后将 Web Service 发布到我们的 IIS Web 服务器上
步骤 5
我们继续在存储过程中编写 Web Service 的数据。
步骤 6
在要创建的存储过程中,我们传递一个参数,该参数是 Saludar()
方法所等待的参数。如果他们想使用其他方法,应该创建另一个参数,因为如上所述,其他方法期望 2 个整数类型的参数。
在使用 sp_OAMethod
存储过程时,还有一个非常重要的事项,它正在等待 POST 或 GET 方法。默认情况下,几乎总是发送 POST,但是如果我们发送此方法,就无法显示我们的 Web Service 生成的 XML 读取结果,因此我们必须使用 GET 方法。
步骤 7
继续通过浏览器测试我们的 Web Service,输入 IIS 的地址,我们在那里发布了我们的 Web Service。https:///WebServices/Service1.asmx 在其中显示我们在 Web Service 中创建的所有方法。
步骤 8
选择我们要从存储过程中使用和调用的方法,Saludar()
。然后继续编写要传递给 Web Service 的参数,之后我们点击 Invoke。
步骤 9
之后,它将在您的浏览器中打开另一个页面,其中包含 XML 中的信息和要写入的参数。
步骤 10
我们继续执行我们刚刚创建的存储过程来调用我们的 Web Service。
步骤 11
运行我们的存储过程并发送我们的参数后,我们得到了与通过浏览器运行时相同的结果。
结果
看看比较,并注意到结果相同。