在 SQL Server 的存储过程中调用 Web 服务

红薯 发布于 2012/07/30 08:40
阅读 5K+
收藏 53

介绍

一个老朋友计划开发一个应用,基于 .NET 和 Socket,但需要在存储过程中调用 Web 服务。

在这篇文章中我们将分享这个应用的经验,讲述如何在存储过程中调用 Web 服务,并传递参数。

Step 1 

首先我们在 Visual Studio 中创建一个 Web 服务项目:

Step 2 

接下来在服务中添加我们需要的方法,在这里我们创建 6 个方法,分别是 Greet (string Param1) , HelloWord() , Add, subtract, 和 Divide (Num1 int, int num2)

Step 3 

然后开始创建存储过程,在我所有文章中都是使用 AdventureWorks 数据库,这是我自己的一些测试数据项目。

Step 4 

接下来在 IIS 中发布 Web 服务

Step 5 

然后开始在存储过程中编码访问 Web 服务

Step 6 

在创建过程中,我们传递一个参数,这是waitingSaludar()方法的参数,如果他们想使用其他的方法,应该创建另一个参数,正如我上面提到的其他方法,需要两个整型的参数。

在使用 sp_OAMethod 存储过程时有一些事情是非常重要的,该方法等待 POST 和 GET 方法,默认是通过 POST 方法,但如果使用这个方法我们将无法获取到 XML 输出,因此这里必须用 GET 方法。

Step 7 

接下来我们现在浏览器上测试 Web 服务,打开网址 http://localhost/WebServices/Service1.asmx ,这将显示 Web 服务提供的所有方法:

Step 8 

选择我们想调用的方法,然后输入参数后就可调用

Step 9  

做完这个后会打开另外一个页面,包含 XML 中的信息和参数

Step 10   

然后我们执行刚创建的存储过程

Step 11    

调用后会得到如下输出

Results    

下面就是结果,跟在浏览器上调用的一样。

英文原文OSCHINA原创翻译

加载中
0
veryone
veryone
有什么用啊???
0
浩浩好好
浩浩好好
不错,虽然不知道是什么样的需求,才要这么做。不过还真没有见过,学习了,晚上偶也来试试看
0
泽惠方惠
泽惠方惠
怎么会有这样的需求呢?
0
哪一天
哪一天
无聊的微软
0
TerryMa
TerryMa
不错,挺有用的
0
蓝紫靛青
蓝紫靛青
这不是蛋疼咯,很有用的
0
回回回
回回回
第一次见,
0
啊水
啊水
多一种方法总有机会用上
返回顶部
顶部