Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отправка XML-запроса средствами T-SQL / 8 сообщений из 8, страница 1 из 1
04.02.2019, 12:40
    #39769160
Anikanoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
Добрый день!

Подскажите, как реализовать именно ОТПРАВКУ XML-запроса на сайт с -XML-АПИ

Сайт: https://gate.smsclub.mobi/xml/
передать туда:
Код: xml
1.
2.
3.
4.
5.
<?xml version=''1.0'' encoding=''utf-8''?>
      <request_sendsms>
            <username><![CDATA[login]]></username>
            <password><![CDATA[pas]]></password>
      </request_balance>



Делаю так, но приходит пустой ответ
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
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



Что не так делаю?
...
Рейтинг: 0 / 0
04.02.2019, 13:13
    #39769180
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
Anikanoff Что не так делаю?

как минимум, этого не хватает
Код: sql
1.
Exec sp_OAMethod @Object, 'send', null, @XML_param
...
Рейтинг: 0 / 0
04.02.2019, 14:03
    #39769215
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
1. Нахера эти sp_OA...?
2. Как-то так
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
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 
} 
...
Рейтинг: 0 / 0
04.02.2019, 14:27
    #39769229
Anikanoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
courtAnikanoff Что не так делаю?

как минимум, этого не хватает
Код: sql
1.
Exec sp_OAMethod @Object, 'send', null, @XML_param



А параметр @XML_param правильно передается?
...
Рейтинг: 0 / 0
04.02.2019, 14:28
    #39769230
Anikanoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
aleks222,
Это же powerShell....
мне же нужно выполнять в процедурах на сервере
...
Рейтинг: 0 / 0
04.02.2019, 14:31
    #39769236
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
Anikanoff
Код: sql
1.
SET @XML_param = '<?xml version=''1.0'' encoding=''utf-8''?>



Что не так делаю?
Могу предположить, что одинарную дважды '' нужно заменить на двойную ".
...
Рейтинг: 0 / 0
04.02.2019, 14:43
    #39769244
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
Anikanoffcourtпропущено...


как минимум, этого не хватает
Код: sql
1.
Exec sp_OAMethod @Object, 'send', null, @XML_param




А параметр @XML_param правильно передается?null впишешь, и будет правильно.

... если не обращать внимание на то, что ты най... обманываешь вэб-сервис с кодировкой этого параметра. Но если у тебя логин и пароль без кириллицы, то сойдёт
...
Рейтинг: 0 / 0
04.02.2019, 14:49
    #39769252
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка XML-запроса средствами T-SQL
court то сойдёт

Не сойдет.
'GET' и желания тредстатртера - несовместимы.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отправка XML-запроса средствами T-SQL / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]