Имя: Пароль:
1C
1С v8
Ошибка 500 http сервера при POST запросе
0 BaZZiL
 
12.04.21
15:37
Приветствую уважаемое сообщество!

При разработке мобильного приложения возник затык с ошибкой сервера 500
Локальная файловая база, веб сервер Апач 2.4, написанный ранее http сервис успешно работет с гет- и пост- запросами из мобильного приложения

Добавил новый http сервис, определил три новых URL шаблона,  в каждом шаблоне один метод, два метода GET, один POST. GET запросы успешно работают, при обращении к POST -ошибка 500.

Корневой URL сервиса - "mark", шаблона - "/dmcode"
Запрос на стороне мобильного приложения:
Функция ПроверитьШтрихкод(Штрихкод)
    Данные = Новый Структура;
    Данные.Вставить("Штрихкод",Штрихкод);
    Данные.Вставить("НакладнаяИД",НакладнаяГУИД);
    
    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку(ПараметрыЗаписиJSON);
    ЗаписатьJSON(Запись,Данные);
    Результат = Запись.Закрыть();
    
    HTTPЗапрос = Новый HTTPЗапрос(глДанныеПодключения.ИмяБазы+"/hs/mark/dmcode");
    
    HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
    HTTPЗапрос.УстановитьТелоИзСтроки(Результат,КодировкаТекста.UTF8);
        
    ОтветСервера = глHTTPСоединение.ВызватьHTTPМетод("POST",HTTPЗапрос);//ОтветСервера.КодСостояния = 500
...
КонецФункции

Лог Апача:
"POST /base/hs/mark/dmcode HTTP/1.1" 500 143

Подскажите, куда копать?
1 Garykom
 
гуру
12.04.21
15:39
(0) Почему ВызватьHTTPМетод вместо ОтправитьДляОбработки?
2 Garykom
 
гуру
12.04.21
15:40
А так трабла скорее всего в сервисе там код обработки пост запроса падает
Заверни в попытка/исключение все
3 BaZZiL
 
12.04.21
17:08
(1) Поменяю.
(2) Так и оказалось в итоге.
Благодарю!
4 Kassern
 
12.04.21
17:13
(1) а что не так в явном указании метода?
5 Garykom
 
гуру
12.04.21
18:41
(4) все так,
просто во всех мануалах пишут для POST ОтправитьДляОбработки вот и удивился какой продвинутый

фича с ВызватьHTTPМетод это вроде единственный способ то ли GET с телом сделать, то ли POST без тела уже не помню
6 oleg_km
 
12.04.21
22:15
(5) GET с телом на многих серверах вроде заблочен по соображениям безопасности. .NET такой вольности тоже не допускает