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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2016, 10:27   #1  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Предача XML файла web сервису
Добрый день всем. Столкнулся с задачей по интеграцией со сторонним приложением посредством Web сервисов. инициализация соединения со стороны Аксапты. Передача xml файла содержащего произвольные данные(не стандарт). Подскажите в какую сторону смотреть? Как я понял Aif немного не мой путь.
Заранее спасибо.

Последний раз редактировалось raniel; 12.10.2016 в 10:28. Причина: web,aif,интеграция,сервис
Старый 12.10.2016, 10:54   #2  
Weez is offline
Weez
Участник
Axapta Retail User
 
250 / 84 (3) ++++
Регистрация: 18.01.2006
Адрес: Moscow city
Я бы на вашем месте смотрел в сторону System.Net.WebRequest и System.Net.HttpWebResponse, для отправления и получения xml соответственно.
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет.
За это сообщение автора поблагодарили: raniel (1).
Старый 13.10.2016, 01:04   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от raniel Посмотреть сообщение
Подскажите в какую сторону смотреть?
https://technet.microsoft.com/en-us/.../hh500187.aspx
Цитата:
Сообщение от raniel Посмотреть сообщение
Как я понял Aif немного не мой путь.
Почему же?

Помогло бы, если бы вы свою версию AX указали.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 13.10.2016, 07:53   #4  
andiv is offline
andiv
Участник
 
16 / 34 (2) +++
Регистрация: 11.01.2007
реализовано в ax4, пользуйся на здоровье

X++:
str                                     boundary = /*"---------------------------" + */guid2str(newGUID());
System.Net.HttpWebRequest               request;
System.Net.HttpWebResponse              response;
System.IO.Stream                        dataStream;
System.IO.StreamWriter                  writer;
System.IO.StreamReader                  reader;

CLRObject                                     byteArray;
System.Text.Encoding                    utf8;

System.Exception                        clrException;

InteropPermission                       interopPermission;
;
try
{
        interopPermission = new InteropPermission(InteropKind::ClrInterop);
        interopPermission.assert();

        request = CLRInterop::staticInvoke('System.Net.WebRequest','Create', sendURL);// sendURL - адрес запроса
        utf8    = System.Text.Encoding::get_UTF8();

        request.set_ContentType(strfmt("multipart/form-data; boundary=%1", boundary));
        request.set_Method('POST');
        request.set_AllowWriteStreamBuffering(true);
        request.set_Timeout(EGAISParameters.Timeout);

        content += "\r\n--" + boundary + "\r\n";
        content += "Content-Disposition: form-data; name=\"xml_file\"; filename=\"doc.xml\"\r\nContent-Type: xml\r\n\r\n";
        content += XMLMessage;// тут содержимое файла
        content += "\r\n--" + boundary + "--\r\n\r\n";

        byteArray   = utf8.GetBytes(content);
        size = byteArray.get_Length();

        datastream = request.GetRequestStream();

        writer = new System.IO.StreamWriter(datastream,utf8,size);
        writer.WriteLine(content);

        writer.Flush();
        writer.Close();

        response    = request.GetResponse();
        dataStream  = response.GetResponseStream();
        reader      = new System.IO.StreamReader (dataStream);


        statusCode = response.get_StatusCode();
        if(statusCode == '200') // получен положительный ответ
        {
            //info('Соединение установлено');
            dataStream  = response.GetResponseStream();
            reader      = new System.IO.StreamReader (dataStream);

            xml = reader.ReadToEnd();

            reader.Close();
            response.Close();
       }
}

Последний раз редактировалось andiv; 13.10.2016 в 07:57.
За это сообщение автора поблагодарили: AlGol (2), dech (3), Silence (1), Player1 (5).
Теги
httpwebrequest, httpwebresponse, web сервис, xml

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: How to update AX 2012 Enterprise Portal in a multi-server web farm Blog bot DAX Blogs 0 09.11.2015 13:11
kurthatlevik: AX suggestion: XML Columns and XML indexes Blog bot DAX Blogs 0 28.08.2015 13:11
Формирование XML файла - приведите пример плиз! Pavlo AKA Panok DAX: Программирование 18 20.02.2008 23:41
Inside Dynamics AX 4.0: The Web Framework Blog bot DAX Blogs 0 25.10.2007 03:04
Pokluda: Outbound web service (AIF) Blog bot DAX Blogs 0 28.10.2006 17:43

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

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

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