从SQL Server调用Web服务

时间:2014-01-25 09:45:30

标签: sql sql-server web-services

我有一个带有网络方法的网络服务,可以回应你传递的任何内容。

我尝试从T-SQL代码调用我的Web方法,但它既不起作用也不产生任何异常或错误。

以下是代码:

sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

sp_configure 'Ole Automation Procedures', 1;
GO

RECONFIGURE;
GO

Declare @Object as Int;
Declare @ResponseText as Varchar(8000);

Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;

Exec sp_OAMethod @Object, 'open', NULL, 'get',
    'http://vserver250:8600/EcomSmsSvc.asmx/Reply?message=hi','false'

Exec sp_OAMethod @Object, 'send'

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

Select @ResponseText

Exec sp_OADestroy @Object

我的网络服务工作正常,当我通过网络浏览器调用它时会返回我发送的消息,但是当我从T-SQL调用它时,结果总是NULL

任何人都可以帮我找出问题所在吗?

1 个答案:

答案 0 :(得分:0)

我建议使用内置于.NET的 Web服务客户端来实现。我想这将是一个更清洁的解决方案,更易于维护,更容易测试和调试。

In this post你可以找到这样一个例子。

希望我帮忙!