|
http сервис не возвращает никакого ответа | ☑ | ||
---|---|---|---|---|
0
Мистикан
07.05.19
✎
00:40
|
mssql 2012, 8.3.8, IIS
При помещении данных более 15 мегабайт в тело ответа до клиента вообще не приходит никакой ответ, код сервиса выполняется полностью. В чем может быть проблема? Код сервиса: ЗапросСтрока = Запрос.ПолучитьТелоКакСтроку(); ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ЗапросСтрока); ПараметрыЗапроса = ПрочитатьJSON(ЧтениеJSON,,"ДатаУспешнойЗагрузки",ФорматДатыJSON.ISO); Склад = Справочники.Склады.ПолучитьСсылку(Новый УникальныйИдентификатор(ПараметрыЗапроса.ИДСклада)); Касса = Справочники.КассыККМ.ПолучитьСсылку(Новый УникальныйИдентификатор(ПараметрыЗапроса.ИДКассы)); //+++ Чтобы инициировать полное обновление справочной информации для нужной кассы // нужно очистить историю загрузки или указать пустую дату в последней записи успешной загрузки // (для отладки или пригодится в процессе) ПолныйОбмен = Ложь; ДатаУспешногоОбменаФУД = Дата("00010101000000"); ПоследняяУспешнаяЗагрузка = РегистрыСведений.ИсторияОбменаФУД.СрезПоследних(,Новый Структура("НаправлениеОбмена,Склад,Касса,СтатусОбмена",Перечисления.НаправлениеОбмена.Загрузка,Склад,Касса,Перечисления.СтатусыОбменаФУД.Успешно)); Если ПоследняяУспешнаяЗагрузка.Количество() <> 0 Тогда Если ПоследняяУспешнаяЗагрузка[0].ДатаУспешногоОбмена = Дата("00010101000000") Тогда ПолныйОбмен = Истина; Иначе ДатаУспешногоОбменаФУД = ПоследняяУспешнаяЗагрузка[0].ДатаУспешногоОбмена; КонецЕсли; Иначе ПолныйОбмен = Истина; ДатаУспешногоОбменаФУД = Дата("00010101000000"); КонецЕсли; //--- Если ДатаУспешногоОбменаФУД = Дата("00010101000000") Тогда ДатаЗапроса = ДатаУспешногоОбменаФУД; Иначе ДатаЗапроса = ПараметрыЗапроса.ДатаУспешнойЗагрузки; КонецЕсли; Если ТипЗнч(ПараметрыЗапроса) = Тип("Структура") Тогда МассивНоменклатуры = ПолучитьМассивНоменклатуры(ПолныйОбмен,ДатаЗапроса); МассивЦен = ПолучитьМассивЦен(ПолныйОбмен,Склад,ДатаЗапроса); МассивКассиров = ПолучитьМассивКассиров(ПолныйОбмен,Склад,ДатаЗапроса); МассивНастройкиГруппыФР = ПолучитьМассивНастройкиГруппыФР(ПолныйОбмен,Касса,ДатаЗапроса); СтруктураВыгрузки = Новый Структура("Номенклатура,Цены,Кассиры,НастройкиГруппыФР",МассивНоменклатуры,МассивЦен,МассивКассиров,МассивНастройкиГруппыФР); СтрокаJSON = ПолучитьСтрокуJSON(СтруктураВыгрузки); Ответ = СтрокаJSON; Иначе Ответ = Строка(ТипЗнч(ПараметрыЗапроса)); КонецЕсли; HTTPОтвет = Новый HTTPСервисОтвет(200); HTTPОтвет.УстановитьТелоИзСтроки(Ответ); мз = РегистрыСведений.ИсторияОбменаФУД.СоздатьМенеджерЗаписи(); мз.Период = ТекущаяДата(); мз.НаправлениеОбмена = Перечисления.НаправлениеОбмена.Загрузка; мз.Склад = Склад; мз.Касса = Касса; мз.СтатусОбмена = Перечисления.СтатусыОбменаФУД.Успешно; мз.ДатаУспешногоОбмена = ПараметрыЗапроса.ДатаУспешнойЗагрузки; мз.Записать(Истина); Исключение HTTPОтвет = Новый HTTPСервисОтвет(520); HTTPОтвет.УстановитьТелоИзСтроки(ОписаниеОшибки()); мз = РегистрыСведений.ИсторияОбменаФУД.СоздатьМенеджерЗаписи(); мз.Период = ТекущаяДата(); мз.НаправлениеОбмена = Перечисления.НаправлениеОбмена.Загрузка; мз.Склад = Склад; мз.Касса = Касса; мз.СтатусОбмена = Перечисления.СтатусыОбменаФУД.Ошибка; мз.ДатаУспешногоОбмена = ПараметрыЗапроса.ДатаУспешнойЗагрузки; мз.Описание = ОписаниеОшибки(); мз.Записать(Истина); КонецПопытки; Возврат HTTPОтвет; |
|||
1
Fram
07.05.19
✎
00:46
|
каким клиентом проверял? обычным браузером или постманом пробовал?
ну и 15Мб как то лишка для http запроса. разбить бы. |
|||
2
Мистикан
07.05.19
✎
00:49
|
(1) нет еще... на другом конце розница... как я понимаю IIS не пропускает... но я в нем нуб.
|
|||
3
palsergeich
07.05.19
✎
00:52
|
(2) Есть настройка в ИИС максимальный размер запроса.
|
|||
4
palsergeich
07.05.19
✎
00:53
|
||||
5
palsergeich
07.05.19
✎
00:53
|
Увеличь - должно помочь
|
|||
6
Мистикан
07.05.19
✎
00:55
|
увеличивал до 200мб пару раз прошло. потом опять вернулось на круги своя.
|
|||
7
palsergeich
07.05.19
✎
00:56
|
(6) Ну дык может там больше 200 мб?
|
|||
8
Мистикан
07.05.19
✎
00:56
|
тоже нагуглил эту статью
|
|||
9
Мистикан
07.05.19
✎
00:56
|
(7) нет.. 39 мб не более.. но затыкается на 15+
|
|||
10
palsergeich
07.05.19
✎
00:58
|
Пес знает, у нас сметы по пол гига одним HTTP запросом отправлялись.
Ты точно там где надо крутанул? |
|||
11
palsergeich
07.05.19
✎
00:58
|
(10) Ой не сметы, а конструкторская дока
|
|||
12
palsergeich
07.05.19
✎
00:59
|
Там еще бывает не на ИИС, а на железке ограничение
|
|||
13
Мистикан
07.05.19
✎
01:00
|
(10) да вроде да.. сейчас перепроверил.. оказывается 2gb стоит вообще
|
|||
14
Мистикан
07.05.19
✎
01:00
|
(12) на железке?
|
|||
15
NorthWind
07.05.19
✎
06:51
|
(0) судя по тому что я видел - не приняты такие объемы. Если надо возвращать большой массив данных, то обычно делают несколько запросов, а в качестве параметров указывают, с какого по какой элемент списка возвращать.
|
|||
16
Cyberhawk
07.05.19
✎
08:27
|
Начиная где-то с 8.3.8 мультипарт работает из коробки, нужно лишь правильно заголовок "Content-Type" задать, ну и разделитель
|
|||
17
Мистикан
07.05.19
✎
19:00
|
(16) ок спасибо за наводку.. поищу инфу
|
|||
18
Cyberhawk
07.05.19
✎
19:06
|
(17) Даже в Зазеркалье кажись готовый пример был, коли ИТС не осилил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |