Tôi có một web-dịch vụ với các phương pháp sau (C#):Gọi một dịch vụ Web bên trong máy chủ sql
[WebMethod]
public string HelloWorld1(string a)
{
return "Hello World - " + a.ToString();
}
[WebMethod]
public string HelloWorld2()
{
return "Hello World";
}
Tôi đang cố gắng sử dụng nó bên trong một thủ tục sql-server với đoạn mã sau:
...
-- URL 1
set @url = 'http://localhost/ws/ws1.asmx/HelloWorld2'
-- URL 2
--set @url = 'http://localhost/ws/ws1.asmx/HelloWorld1?a=amama'
EXEC msdb.dbo.sp_OACreate 'MSXML2.XMLHTTP', @OBJ OUT
EXEC msdb.dbo.sp_OAMethod @OBJ, 'Open', NULL, 'post', @URL , false
EXEC msdb.dbo.sp_OAMethod @OBJ, 'send'
EXEC msdb.dbo.sp_OAGetProperty @OBJ, 'responseText', @RESPONSE OUT
SELECT @RESPONSE [response]
EXEC msdb.dbo.sp_OADestroy @OBJ
Khi tôi sử dụng URL đầu tiên 1, tôi nhận được phản hồi mong muốn. Nhưng khi tôi sử dụng URL 2, lỗi sau đây được hiển thị:
System.InvalidOperationException: Request format is invalid .
em System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
em System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
Bạn có thể vui lòng cho tôi biết có vấn đề gì không?