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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.03.2020, 23:27   #1  
alicedr is offline
alicedr
Участник
 
173 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
D365 Multipart body length limit 16384 exceeded
D365 10.0.8

У клиента есть PDF файлы, прикрепленные к custtrans (накладные).
Задача: выгрузить конкретный PDF на внешний ресурс.
Внешний ресурс ожидает PUT запрос в формате multipart-form, одна из частей которого собственно файл.
Проблема в том, что при попытке отправить запрос, получаем сообщение "Multipart body length limit 16384 exceeded"
Как можно снять ограничение в D365FO или что нужно изменить в коде?

X++:
System.Net.ServicePointManager::set_SecurityProtocol(System.Net.SecurityProtocolType::Tls12);
            System.Net.WebRequest WebRequest = System.Net.WebRequest::Create(url);

            System.Net.WebHeaderCollection headerCollection = new System.Net.WebHeaderCollection();
            headerCollection.Add('UpdatedBy',SysUserInfo::find(curUserId()).Email);
            headerCollection.Add(System.Net.HttpRequestHeader::Authorization, "Bearer " + apiToken.access_token());

            webRequest.set_Method('PUT');
            webRequest.set_Headers(headerCollection);
            webRequest.set_ContentLength(strlen(content);
            webRequest.set_ContentType(contentType);

            stream = webRequest.GetRequestStream();
            streamWriter = new System.IO.StreamWriter(stream);
            streamWriter.Write(content);
            streamWriter.Close();

            webResponse = webRequest.GetResponse(); //have error here
content и contentType формируются так:
X++:
contentType = strfmt('multipart/form-data; boundary="%1"', boundary);
            content     = '--' + boundary
                    + #NewLine + 'Content-Disposition: form-data; name="jsonPart"'
                    + #NewLine + 'Content-Type: application/json'
                    + #NewLine + _json
                    + #NewLine
                    + '--' + boundary
                    + #NewLine + 'Content-Disposition: form-data; name="file"; filename="'+fileName+'"'
                    + #NewLine + 'Content-Type: application/octet-stream'
                    + #NewLine + fileStream.ToString()
                    + #NewLine
                    + '--' + boundary + '--'
                    + #NewLine;
Старый 11.03.2020, 05:30   #2  
Pandasama is offline
Pandasama
Участник
 
449 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Исходя из подобных обсуждений - https://stackoverflow.com/questions/...eded-exception - мне кажется, что это проблема не D365, а проблема того сервиса, куда вы загружаете файл.

Или если вы загружаете файл не из Ax - то с теми же файлами проблем нет?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
patrickmouwen: D365 Retail APIs Part III: How to use the Retail APIs from Power Automate (Flow) and Logic App Blog bot DAX Blogs 0 28.01.2020 02:15
patrickmouwen: D365 Retail APIs Part II: How to know exactly what happens inside D365 Retail Blog bot DAX Blogs 0 14.12.2019 01:17
alirazazaidi: Customer Credit limit in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 22.09.2017 21:13
X++: New Option to Log X++ Max-Length String Truncation Blog bot DAX Blogs 0 07.10.2011 04:12

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:55.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.