您的位置:首页 > 理论基础 > 计算机网络

sqlserver使用存储过程发送http请求

2017-02-28 16:28 411 查看
declare @ServiceUrl as varchar(1000) 

declare @UrlAddress varchar(500)

--api接口地址:以http开头,结尾带斜杠,例如'http://localhost:8080/orderSys/' 

set @UrlAddress = 'http://localhost:8080/orderSys/'

declare @FunName varchar(50)

--WebService中调用的方法名:例如'getMobileCodeInfo'

set @FunName = 'api/Product/SyncInventory'   

--以下参数对应WebService中4个参数的[参数名]

declare @P1 varchar(800),@P2 varchar(100),@P3 varchar(100),@P4 varchar(100),@P5 varchar(100)

set @P1 = 'appid'

set @P2 = 'sign'

set @P3 = 'ProductCode'

set @P4 = 'SpecCode'

set @P5 = 'SpecQuantity'

declare @P1_Value varchar(100),@P2_Value varchar(100),@P3_Value varchar(100),@P4_Value varchar(100),@P5_Value varchar(100)

set @P1_Value = 'aaaaaaaaaa'

set @P2_Value = 'bbbbbbbbbbbbb'

set @P3_Value = 'cccccccc'

set @P4_Value = 'dddddddddddddd'

set @P5_Value = '11111111111'

set @ServiceUrl = @UrlAddress + @FunName + '?' + @P1 + '=' + @P1_Value +'&' + @P2 + '=' + @P2_Value  +'&'+ @P3 + '=' + @P3_Value +'&' + @P4 + '=' + @P4_Value+'&' + @P5 + '=' + @P5_Value                     

                  

Declare @Object as Int

Declare @hr as Int

Declare @ResponseText as Varchar(8000)

                  

Exec @hr = sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;

Exec @hr = sp_OAMethod @Object, 'open', NULL, 'post',@ServiceUrl,'false'

Exec @hr = sp_OAMethod @Object, 'send'

Exec @hr = sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT

IF @hr <> 0

BEGIN

   EXEC sp_OAGetErrorInfo @object  

   select @Object             --输出异常信息

END

Select @ResponseText    --打印返回结果

Exec sp_OADestroy @Object

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: