Отправка веб-запроса x-www-form-urlencoded с SQL server
У меня есть проект, в котором мне нужно отправить XML-веб-запрос в виде x-www-form-urlencoded, но мне нужно отправить его из хранимой процедуры SQL Server, и XML должен быть отправлен как ключевое значение с именем ключа "xml_in". Я никогда раньше не занимался веб-разработкой, и это первый раз, когда я отправляю веб-запрос из SQL, поэтому у меня очень мало знаний о sp_OAMethod, чтобы знать, как указать запрос.
Любая помощь очень ценится.
Большое спасибо.
С уважением,
Ричард Твайнинг
Что я уже пробовал:
Объявить @PostData тип varchar(Макс) = 'xml_in=' + конвертировать(тип varchar(Макс), @XML-файле)
Msxml2 описывается метод exec @рет = процедуры sp_oacreate '.Для serverxmlhttp', @маркера из;
IF @ret <> 0 RAISERROR('невозможно открыть HTTP-соединение.', 10, 1);
-- Отправьте запрос.
Метод exec @рет = процедуру sp_oamethod @маркер, 'открыть', значение null, 'пост', @URL-адрес, "ложь";
--Метод exec @рет = процедуру sp_oamethod @маркер, 'добавляет', значение null, 'проверка подлинности', @authHeader; --Rich.T. аутентификация не требуется для TNT
Метод exec @рет = процедуру sp_oamethod @маркер, 'добавляет', значение null, 'тип содержимого', @значение contentType;
Метод exec @рет = процедуру sp_oamethod @маркер, 'добавляет', значение null, 'пользователь-агент', 'Ship_socket/1.0'
--Метод exec @рет = процедуру sp_oamethod @маркер, 'добавляет', значение null, 'xml_in', @XML-файле
-- Метод exec @рет = процедуру sp_oamethod @маркер, 'отправить', нуль, нуль;
Метод exec @рет = процедуру sp_oamethod @маркер, 'отправить', значение null, @PostData
-- Займись ответом.
Метод exec @рет = процедура sp_oagetproperty @маркер, 'статус', @статус из;
Метод exec @рет = процедура sp_oagetproperty @маркер, 'statustext также', @statustext также из;
Метод exec @рет = процедура sp_oagetproperty @маркер, 'responseText', @responseText из;
-- Покажи ответ.
PRINT 'Status:' + @status + ' (' + @statusText + ')';
Печатать текст ответа: '+ @responseText;
-- Закройте соединение.
EXEC @ret = sp_OADestroy @token;
IF @ret <> 0 RAISERROR('невозможно закрыть HTTP-соединение.', 10, 1);
Выберите @responseText