从 SQL Server 调用 Web 服务 [英] Call Web Service from SQL Server

查看:35
本文介绍了从 SQL Server 调用 Web 服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有 Web 方法的 Web 服务,该方法可以响应您传递的任何内容.

I have a web service with a web method which echoes whatever you pass it.

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

I try to call my web method from T-SQL code but it neither works nor yields any exception or error.

代码如下:

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.

My web service works fine, and when I call it through web browsers it returns the message I send it, but when I call it from T-SQL the result is always NULL.

谁能帮我找出问题所在?

Can anyone help me find out where the problem is?

推荐答案

我建议使用 内置于 .NET 的网络服务客户端.我想这将是一个更简洁的解决方案,更易于维护且更易于测试和调试.

I would suggest to do it using a web service client built in .NET. I suppose this would be a cleaner solution, more maintainable and easier to test and debug.

在这篇文章中你可以找到这样一个例子.

In this post you could find such an example.

希望我有所帮助!

这篇关于从 SQL Server 调用 Web 服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆