http-сервис 405.0 - Method not allowed
☑
0
DosBot
26.10.20
✎
17:37
Есть web-сервер на IIS
Платформа 8.3.16.1359
Сделал свой http-сервис, опубликовал и настроил.
Шалон url всего 1: timetable
Если метод GET - из строки браузера всё прекрасно работает.
Если POST - вылазит ошибка 405.0 - Method not allowed
Код для POST-запроса:
HTTPСоединение = Новый HTTPСоединение("localhost", 80,,,,10);
HTTPЗапрос = Новый HTTPЗапрос("/ifc_test/hs/timetable");
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
HTTPЗапрос.УстановитьТелоИзСтроки("",КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать);
КодСостояния = 0;
Попытка
Результат = HTTPСоединение.Получить(HTTPЗапрос);
КодСостояния = Результат.КодСостояния;
Ответ = Результат.ПолучитьТелоКакСтроку();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Код обработчика метода:
Ответ = Новый HTTPСервисОтвет(200);
Ответ.УстановитьТелоИзСтроки("Hello World!");
Возврат Ответ;
1
DosBot
26.10.20
✎
17:40
А ещё до отладки при POST-запросе даже не доходит..
2
acht
26.10.20
✎
17:42
Ну дык и на какой метод http ты свой метод сделал?
3
acht
26.10.20
✎
17:43
Ну и
Код для POST-запроса:
...
Результат = HTTPСоединение.Получить(HTTPЗапрос);
Это прекрасно
4
DosBot
26.10.20
✎
17:51
(3) да уж...
если сделать так то всё работает:
Результат = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший