Использование MSXML2 из SP на SQL 2014
У меня есть SP, использующий MSXML2 для вызова веб-службы.
Он работает на моей локальной машине с использованием SQL Server 2008R2
Он не работает на моем сервере, используя SQL Server 2014.
Запуск того же MSXML2 из Javascript-программы из командной строки работает как на локальной машине, так и на сервере.
Служба SQL Server работает под управлением пользователя Admin на обеих машинах.
Вот вам и SQL:
Declare @Object as Int; Declare @ResponseText as Varchar(8000); Declare @Status as int; Declare @Body as varchar(8000) = '{"someParameterName": ["AAAAAAAA" ],"Message": "Here is a message I am sending","securityId": "DA6AC379-703F-4BCC-9B0B-8DBAF87EB5C6","type": "send_message"}' Declare @BodyLength int = LEN(@Body) Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT; Exec sp_OAMethod @Object, 'setProxy', '2', 'http://localhost:8888','' Exec sp_OAMethod @Object, 'open', NULL, 'post', 'https://api.theUrl.com/external/TheMessageApi', 'false' Exec sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'application/json' Exec sp_OAMethod @Object, 'setRequestHeader', null, 'Content-LEngth', @BodyLength Exec sp_OAMethod @Object, 'send', null , @Body Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT Exec sp_OAMethod @Object, 'status', @status OUTPUT Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT Select @ResponseText as Response, @Status as Status Exec sp_OADestroy @Object
На моем локальном компьютере я вижу текст ответа и статус 200
На сервере я вижу Null, Null
Я ценю, что это немного специфично - но я в недоумении, на что еще смотреть!
Я попробовал установить Fiddler - но он не ловит трафик, даже когда вызов работает!
Любой совет с благодарностью принимаю!