65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.91/5 (62投票s)

2012 年 7 月 25 日

CPOL

2分钟阅读

viewsIcon

377425

学习如何在存储过程中调用 Web Service。

引言

有一次,一位老朋友正在计划使用 .NET 和 sockets 的应用程序,并且需要从存储过程中调用 WebServices。

在本文中,我将分享这段经验,以便其他程序员学习如何从存储过程中发送参数来调用 WebService。

步骤 1 

我们必须在 Visual Studio 中创建我们的 WebServices 项目。

步骤 2

然后继续创建我们在服务中使用的那些方法,在我的例子中,我创建了 6 个方法:Greet (string Param1) 期望一个 String 作为参数,HelloWord() 不期望任何参数,而 AddsubtractDivide 方法 (Num1 int, int num2) 期望两个整数作为参数。

步骤 3

继续创建我们的存储过程,该存储过程将包含所有调用我们刚刚创建的 Web Services 的代码。就像我所有的文章一样,我使用的数据库是 AdventureWorks,它是 SQL Server 提供的测试数据基础。

步骤 4

然后将 Web Service 发布到我们的 IIS Web 服务器上

步骤 5

我们继续在存储过程中编写 Web Service 的数据。

步骤 6

在要创建的存储过程中,我们传递一个参数,该参数是 Saludar() 方法所等待的参数。如果他们想使用其他方法,应该创建另一个参数,因为如上所述,其他方法期望 2 个整数类型的参数。

在使用 sp_OAMethod 存储过程时,还有一个非常重要的事项,它正在等待 POSTGET 方法。默认情况下,几乎总是发送 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

运行我们的存储过程并发送我们的参数后,我们得到了与通过浏览器运行时相同的结果。

结果

看看比较,并注意到结果相同。

如何从存储过程中调用 Web Service - CodeProject - 代码之家
© . All rights reserved.