SQL Server中调用WebService的实例

1.Ole Automation Procedures 服务器配置选项

当启用 OLE Automation Procedures 时,对 sp_OACreate 的调用将会启动 OLE 共享执行环境。

Ole Automation Procedures option can be viewed and changed by using the sp_configure system stored procedure. ‘ data-guid="39a0a531b1194eeda90b9f2140b44647"> 可以使用 sp_configure 系统存储过程来查看和更改 Ole Automation Procedures 选项的当前值。

sp_configure show advanced options, 1;
GO
RECONFIGURE;
GO
sp_configure Ole Automation Procedures, 1;
GO
RECONFIGURE;
GO

2.编写SQL代码并执行

declare @ServiceUrl as varchar(1000) 
declare @UrlAddress varchar(500)

--WebService地址:以http开头,结尾带斜杠,例如‘http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/‘ 
set @UrlAddress = http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/

declare @FunName varchar(50)
--WebService中调用的方法名:例如‘getMobileCodeInfo‘
set @FunName = getMobileCodeInfo   

--以下参数对应WebService中4个参数的[参数名]
declare @P1 varchar(800),@P2 varchar(100)
set @P1 = mobileCode
set @P2 = userid

declare @P1_Value varchar(100),@P2_Value varchar(100)
set @P1_Value = 13800138000
set @P2_Value = ‘‘

set @ServiceUrl = @UrlAddress + @FunName + ? + @P1 + = + @P1_Value +& + @P2 + = + @P2_Value                       
                  
Declare @Object as Int
Declare @ResponseText as Varchar(8000)
                  
Exec sp_OACreate MSXML2.XMLHTTP, @Object OUT;
Exec sp_OAMethod @Object, open, NULL, get,@ServiceUrl,false
Exec sp_OAMethod @Object, send
Exec sp_OAMethod @Object, responseText, @ResponseText OUTPUT
     
Select @ResponseText     
Exec sp_OADestroy @Object
GO
View Code

需注意,返回结果是带解析的XML编码。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。