HTTP сервисы 1С

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. vectorex 23.02.16 14:22 Сейчас в теме
Доборого времени суток всем.
Щупаю HTTP-сервисы в 1С и нарисовалась странная ситуация.
Создал Http сервис, добавил шаблоны, описал найпростейшие ответы на запросы.
Шаблоны с методом GET отрабатывают штатно, все ОК.
Однако при вызове шаблона с методом POST, 1С отвечает заголовком 405 Method not allowed.
Пробовал на разных версиях платформы (если точнее - 8.3.5.1596 и 8.3.7.1917), а также в связке с серверами IIS и Apache.
В чем может быть проблема...
Или я чего-то пропустил?
Если кто-то знает - делимся опытом.
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1479 23.02.16 14:25 Сейчас в теме
(1) vectorex, http://www.checkupdown.com/status/E405.html

По русски же написано не разрешен метод.
3. spacecraft 23.02.16 14:26 Сейчас в теме
(1) vectorex, а что тут не понятно? Прямым текстом пишет "Method not allowed". Метод не указан как POST в свойстве HTTP-метод. Или вообще не определен. Но скорее первое.
4. vectorex 23.02.16 14:31 Сейчас в теме
Не верю думаю что в этом проблема.
Прикрепленные файлы:
5. spacecraft 23.02.16 14:37 Сейчас в теме
(4) vectorex, что в шаблоне указано?
6. vectorex 23.02.16 15:08 Сейчас в теме
(5) spacecraft, В каком смысле?
7. spacecraft 23.02.16 15:14 Сейчас в теме
(6) vectorex, в прямом. На скрине виден шаблон Main. Что в свойстве шаблон этого шаблона указано?
8. vectorex 23.02.16 15:45 Сейчас в теме
(7) spacecraft, Вот что есть. И что в модуле этого метода.
Прикрепленные файлы:
9. spacecraft 23.02.16 16:04 Сейчас в теме
(8) vectorex, ну вот. не указан метод в шаблоне.
В шаблоне должно быть или имя метода или обозначение шаблона под метод.
Короче так:
/testpost/Post
или так:
/testpost/{ИмяМетода}
или без /testpost, если не нужен. Но имя метода должно быть таким, как указано в имени метода. В данном случае Post
MaZaHacKa_13; vectorex; +2 Ответить
10. spacecraft 23.02.16 16:29 Сейчас в теме
(8) vectorex, что бы было более понятно. Есть HTTP-сервис. У него есть шаблоны URL, в которых прописываются правила определения строки после корневого URL. Если при запросе нашлось совпадение, то отрабатывает метод этого (одного из) шаблонаURL. Но у шаблонаURL может быть неограниченное кол-во методов. И как определить, какой метод нужно запустить? Для этого в шаблоне должна быть или прямо указан метод, или применяется конструкция {Имя метода}, которая не обязывает прописывать в шаблоне прямое имя метода, а имя метода будет браться из строки запроса, при условии, что она подпадает под шаблон. Но в любом случае в строке запроса имя этого метода должно быть.
kondi55; MaZaHacKa_13; vectorex; +3 Ответить
11. vectorex 23.02.16 17:16 Сейчас в теме
(10) spacecraft, Спасибо.
Проблема, неожиданно для меня, решилась: 1С ожидает строгого совпадения шаблонам, причем РЕГИСТР тоже важен.
Например, если описан путь /ТestBase/hs/test/testpost, то /Testbase/hs/test/testpost уже не отработает.
Странно, но на других платформах/языках (скажем C#) это не критично.
albert.goncharov; Ankare; anuar_medeup; Meverix; user1014228; DanDy; kondi55; 338050247; olo_lo4; MaZaHacKa_13; +10 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот