一个老朋友计划开发一个应用,基于 .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 中的信息和参数
而后咱们执行刚建立的存储过程
调用后会获得以下输出
下面就是结果,跟在浏览器上调用的同样。