ALTER proc [dbo].[WebServiceCall]
as
begin
declare @sUrl varchar(4000),@obj int,@response varchar(800)
set @sUrl ='http://10.130.7.147/Eservice/SSISService.asmx/HelloMoon'
exec sp_OACreate 'WinHttp.WinHttpRequest', @obj OUT
exec sp_OAMethod @obj,'Open',NULL,'GET', @sUrl, false
exec sp_OAMethod @obj,'send'
exec sp_OAGetProperty @obj,'responseText', @response OUT
select @response [response]
exec sp_OADestroy @obj
declare @data xml
declare @data1 xml
select @data = @response
declare @str nvarchar(max)
select @str = cast(@data as varchar(max))
--select @data = @response
select @str = replace(@str, '=', '="')
select @str = replace(@str, '|', '" ')
select @str = replace(@str, '^', '"/><row ')
select @str = '<row ' + @str + '"/>'
--select @data1 = cast(@str as xml)
select
t.c.value('@Grn', 'nvarchar(max)') as Grn,
t.c.value('@Challandate', 'nvarchar(max)') as Challandate
from @data.nodes('string') as t(c)
end
I am getting a output from asp.net web service in XML format as :
<?xml version="1.0" encoding="utf-8"?> <string xmlns="http://abc.org/">age=7|Date=15/04/2006^age=5|Date=15/04/2008</string>
How to split this so that i can get age in age column and date in date column . tried hard but not getting answer. How to solve it. getting ouput from web service in @response.
R_Sharma1989