Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Anikanoff Member Откуда: DN-KY Сообщений: 10 |
Добрый день! Подскажите, как реализовать именно ОТПРАВКУ XML-запроса на сайт с -XML-АПИ Сайт: https://gate.smsclub.mobi/xml/ передать туда: <?xml version=''1.0'' encoding=''utf-8''?> <request_sendsms> <username><![CDATA[login]]></username> <password><![CDATA[pas]]></password> </request_balance> Делаю так, но приходит пустой ответ Declare @XmlResponse as xml; Declare @XML_param as varchar(8000); Declare @text nvarchar (1000); Declare @ResponseText as varchar(8000); declare @commandText as nvarchar(20); Declare @url_full nvarchar (1000); Declare @Object as Int; DECLARE @Result int declare @date nvarchar(20) SET @XML_param = '<?xml version=''1.0'' encoding=''utf-8''?> <request_sendsms> <username><![CDATA[login]]></username> <password><![CDATA[pas]]></password> </request_balance>'; Set @url_full ='https://gate.smsclub.mobi/xml/'; Exec sp_OACreate 'MSXML2.XMLHttp', @Object OUT Exec sp_OAMethod @Object, 'open', NULL, 'get',@url_full,'false' Exec sp_OAMethod @Object, 'send', @XML_param EXEC sp_OAGetProperty @Object, 'responseXML.xml', @ResponseText OUT select @XmlResponse=@ResponseText Exec sp_OADestroy @Object Что не так делаю? |
4 фев 19, 12:40 [21801186] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 1580 |
как минимум, этого не хватает Exec sp_OAMethod @Object, 'send', null, @XML_param |
||
4 фев 19, 13:13 [21801222] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 449 |
1. Нахера эти sp_OA...? 2. Как-то так function Execute-SOAPRequest-ToFile ( [String] $URL, [String] $Action, [Xml] $SOAPRequest, [String] $File, [int] $Timeout = 60000 ) { $soapWebRequest = [System.Net.WebRequest]::Create($URL) $soapWebRequest.Timeout = $Timeout $soapWebRequest.Headers.Add("SOAPAction" , $Action ) $soapWebRequest.ContentType = 'text/xml;charset=utf-8' $soapWebRequest.Accept = $soapWebRequest.ContentType $soapWebRequest.Method = 'POST' $requestStream = $soapWebRequest.GetRequestStream() $SOAPRequest.Save($requestStream) $requestStream.Close() $responseStream = $soapWebRequest.GetResponse().GetResponseStream() $fileStream = new-object System.IO.FileStream( $File, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write ) $responseStream.CopyTo($fileStream) $responseStream.Close() $fileStream.Close() return $true } |
4 фев 19, 14:03 [21801276] Ответить | Цитировать Сообщить модератору |
Anikanoff Member Откуда: DN-KY Сообщений: 10 |
А параметр @XML_param правильно передается? |
||||
4 фев 19, 14:27 [21801302] Ответить | Цитировать Сообщить модератору |
Anikanoff Member Откуда: DN-KY Сообщений: 10 |
aleks222, Это же powerShell.... мне же нужно выполнять в процедурах на сервере |
4 фев 19, 14:28 [21801303] Ответить | Цитировать Сообщить модератору |
tunknown Member Откуда: Сообщений: 608 |
Могу предположить, что одинарную дважды '' нужно заменить на двойную ". |
||
4 фев 19, 14:31 [21801311] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 1580 |
... если не обращать внимание на то, что ты най... обманываешь вэб-сервис с кодировкой этого параметра. Но если у тебя логин и пароль без кириллицы, то сойдёт |
||||
4 фев 19, 14:43 [21801325] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 449 |
Не сойдет. 'GET' и желания тредстатртера - несовместимы. |
||
4 фев 19, 14:49 [21801335] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |