declare @ServiceUrl as varchar(1000)
declare @UrlAddress varchar(500)
declare @FunName varchar(50)
declare @P1 varchar(20)
declare @P2 varchar(20)
declare @P3 varchar(20)
declare @P1_Value varchar(20)
declare @P2_Value varchar(20)
declare @P3_Value varchar(100)
select @UrlAddress='http://192.168.0.103:8000/ForSRMK2Service.asmx/'
set @FunName = 'PerformCountermeasureProcess'
set @P1 = 'Term'
set @P2 = 'Pitem'
set @P3 ='firstRespon'
set @P1_Value ='asdf'
set @P2_Value = 1111
select @P3_Value ='sailunjinyu\buqinglong'
set @ServiceUrl = @UrlAddress + @FunName + '?' + @P1 + '=' + @P1_Value +'&' + @P2 + '=' + @P2_Value +'&' + @P3 + '=' + @P3_Value
Declare @Object as Int
Declare @ResponseText as nvarchar(4000)
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
declare @UrlAddress varchar(500)
declare @FunName varchar(50)
declare @P1 varchar(20)
declare @P2 varchar(20)
declare @P3 varchar(20)
declare @P1_Value varchar(20)
declare @P2_Value varchar(20)
declare @P3_Value varchar(100)
select @UrlAddress='http://192.168.0.103:8000/ForSRMK2Service.asmx/'
set @FunName = 'PerformCountermeasureProcess'
set @P1 = 'Term'
set @P2 = 'Pitem'
set @P3 ='firstRespon'
set @P1_Value ='asdf'
set @P2_Value = 1111
select @P3_Value ='sailunjinyu\buqinglong'
set @ServiceUrl = @UrlAddress + @FunName + '?' + @P1 + '=' + @P1_Value +'&' + @P2 + '=' + @P2_Value +'&' + @P3 + '=' + @P3_Value
Declare @Object as Int
Declare @ResponseText as nvarchar(4000)
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
返回结果:
<?xml version="1.0" encoding="utf-8"?>
<boolean xmlns="http://192.168.0.103:8000/">true</boolean>
根据返回结果处理业务
if charindex('TRUE',upper(@ResponseText) ) >0
begin
-- DoSomething
If @@Error <> 0
Goto ErrM
end
此方法并不适用所有webservice,本机http://localhost:8001/WebService.asmx下的
报错,返回结果:因 URL 意外地以“/CurrentTime”结束,请求格式无法识别
不明所以