sql调用webservice问题

来源:互联网 发布:山东工商学院网络课 编辑:程序博客网 时间:2024/05/23 17:59
    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 

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下的

  • CurrentTime
报错,返回结果:

因 URL 意外地以“/CurrentTime”结束,请求格式无法识别

不明所以


   
1 0
原创粉丝点击