AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.09.2020, 13:58   #1  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
В итоге сделал с помощью System.Net.HttpWebRequest и System.Net.HttpWebResponse:

'url_address' - адрес сервиса dadata, к которому обращаемся,
'queryTxt' - текст запроса, который отправляем,
responseData - ответ сервиса.

Может, кому пригодится

X++:
    System.Net.HttpWebRequest               webRequest;
    System.Net.HttpWebResponse              webResponse;

    System.Exception                        ex;
    System.Exception                        webException;

    System.IO.Stream                        stream;
    System.IO.StreamReader                  streamReader;
    System.Byte[]                           bytes;

    System.Net.WebHeaderCollection          headers;
    str                                     responseData;
    System.Text.UTF8Encoding                encoding;
    ;

        new InteropPermission(InteropKind::ClrInterop).assert();

        webRequest = System.Net.WebRequest::Create('url_address') as  System.Net.HttpWebRequest;

        //Создаём коллекцию заголовков и задаём реквизиты доступа
        headers = new System.Net.WebHeaderCollection();

        //api ключ
        headers.Add("Authorization: Token " + apiKey);

        //секретный ключ
        headers.Add("X-Secret: " + secretKey);

        //устанавливаем параметры запроса
        webRequest.set_Headers(headers);
        webRequest.set_Method('POST');
        webRequest.set_ContentType('application/json');
        webRequest.set_Accept('application/json');
        webRequest.set_Timeout(10000);

        //указываем кодировку запроса
        encoding    = new System.Text.UTF8Encoding();
        bytes       = encoding.GetBytes('queryTxt');

        webRequest.set_ContentLength(bytes.get_Length());

        stream = webRequest.GetRequestStream();
        stream.Write(bytes, 0, bytes.get_Length());
        stream.Close();

        webResponse         = webRequest.GetResponse();

        stream                    = webResponse.GetResponseStream();
        streamReader        = new System.IO.StreamReader(stream);
        responseData        = streamReader.ReadToEnd();

        streamReader.Close();
        stream.Close();

        CodeAccessPermission::revertAssert();
За это сообщение автора поблагодарили: vitart (1), alicedr (1).
Теги
ax2012r3, dadata.ru, интеграция

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stephenmann: Technical History of Dynamics AX - From Axapta 3.0 to AX2012 Blog bot DAX Blogs 5 03.03.2017 10:22
patrickmouwen: Dynamics AX Retail 3rd party POS and E-commerce integration – Solution Design Blog bot DAX Blogs 0 26.10.2015 12:11
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1B [Application and AOS Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
dynamics-ax: Official Details about Dynamics AX '6' released, including comments from Microsofts Kees Hertogh Blog bot DAX Blogs 0 11.01.2011 05:22
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:26.