публикация http сервиса 1с из расширения
Добрый день!
Развернул на тестовой базе http сервис в расширении, все хорошо работает, публикуется ошибок ни каких не выдает, разве что при публикации в списке нет созданного http-сервиса.
Решил перенести все на боевую базу (на том же сервере), перенес расширение, опубликовал (также при публикации в списке нет нужного http-сервиса) и столкнулся с проблемой: не работает( При по попытке достучатся до http-сервиса выдает код ошибки 404
Хотя типовой http-сервис работает, а вот из расширения нет(
Подскажите пожалуйста, что может быть?
Развернул на тестовой базе http сервис в расширении, все хорошо работает, публикуется ошибок ни каких не выдает, разве что при публикации в списке нет созданного http-сервиса.
Решил перенести все на боевую базу (на том же сервере), перенес расширение, опубликовал (также при публикации в списке нет нужного http-сервиса) и столкнулся с проблемой: не работает( При по попытке достучатся до http-сервиса выдает код ошибки 404
Хотя типовой http-сервис работает, а вот из расширения нет(
Подскажите пожалуйста, что может быть?
По теме из базы знаний
- HTTP-сервис: отчеты [Расширение]
- Мобильный клиент + HTTP Сервис + Расширение конфигурации
- Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С
- Публикация статичных файлов, используя HTTP-сервис в расширении
- Как спецификация OpenAPI помогает писать тесты http-сервисов
Найденные решения
(10) а расширение нормально подключилось? Активно? Ну, не забывайте, что то что в основной конфигурации может использовать привилегированный режим по умолчанию, в расширении не использует.
Ну и сервер все же попробуйте ребутнуть. Бывает и такое.
Можно еще и кеш почистить.
Ну и сервер все же попробуйте ребутнуть. Бывает и такое.
Можно еще и кеш почистить.
(17) Вообщем удалил перенесенный http-сервис, который выдавал ошибку "HTTP/1.1 400 Bad request" и создал новый с другими названиями, все работает "ок" на расширение
Не разобрался что за ошибка, если есть варианты отправляйте, может кому пригодится, т.к. в интернете ни чего подходящего не нашел(
Не разобрался что за ошибка, если есть варианты отправляйте, может кому пригодится, т.к. в интернете ни чего подходящего не нашел(
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Тогда http сервис опубликовался. Иногда не мешает перезапустить IIS или Апач. Если дает 404, то ОЧЕНЬ внимательно посмотреть на корневой URL и шаблон. Ну и помнить что из расширения http- сервисы вызываются как и из конфы, через /hs/
Кстати, какая версия платформы? И какой режим совместимости?
Может и здесь собака порылась. Хотя по идее должно было сразу ругнуться.
Кстати, какая версия платформы? И какой режим совместимости?
Может и здесь собака порылась. Хотя по идее должно было сразу ругнуться.
(13)
попробую в понедельник только)
Бывало, что утвердительный ответ "перезапустить http-сервер" в конфигураторе 1С не срабатывал. Вручную приходилось останавливать и запускать http-сервер. Причем то, что из конфигуратора не сработал становилось ясно только после ручного перезапуска.
(5) Смотреть в файл default.vrd на http-сервере
Там должны быть сроки вида
где test - имя вашего http-сервиса
Там должны быть сроки вида
<httpServices>
<service name="test"
rootUrl="test"
enable="true"
reuseSessions="dontuse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
</httpServices>
Показатьгде test - имя вашего http-сервиса
(11) Поправлюсь, как сказал uno-c, достаточно наличия строки
<httpServices publishExtensionsByDefault="true"/>
Если вы перезапускали сервис и ничего не менялось, значит проблема в другом
Проверьте вот какую идею - возможно у вас на сервере есть еще один веб-сервер. Например, два апача или апач + IIS. В результате 1С публикует не туда, откуда боевой веб-сервер берет настройки. Тогда надо просто скопировать обновленный default.vrd в нужное место.
<httpServices publishExtensionsByDefault="true"/>
Если вы перезапускали сервис и ничего не менялось, значит проблема в другом
Проверьте вот какую идею - возможно у вас на сервере есть еще один веб-сервер. Например, два апача или апач + IIS. В результате 1С публикует не туда, откуда боевой веб-сервер берет настройки. Тогда надо просто скопировать обновленный default.vrd в нужное место.
Заметил один момент:
обе базы находятся на одном сервере, название сервере на латинице, и название тестовой базы тоже на латинице, а вот боевая база, где не работает http-сервис, название базы на кириллице
Хотя сейчас понял, что типовые сервисы, при таком раскладе, работают...
обе базы находятся на одном сервере, название сервере на латинице, и название тестовой базы тоже на латинице, а вот боевая база, где не работает http-сервис, название базы на кириллице
Хотя сейчас понял, что типовые сервисы, при таком раскладе, работают...
(10) а расширение нормально подключилось? Активно? Ну, не забывайте, что то что в основной конфигурации может использовать привилегированный режим по умолчанию, в расширении не использует.
Ну и сервер все же попробуйте ребутнуть. Бывает и такое.
Можно еще и кеш почистить.
Ну и сервер все же попробуйте ребутнуть. Бывает и такое.
Можно еще и кеш почистить.
(16) да, действительно расширение с ошибкой встало, это третье расширение в конфигураторе и автоматом ставится роль "Расш1_ОсновнаяРоль" и получалось 2 роли с одним и тем же наименованием, Спасибо всем кто откликнулся!
Но теперь встала другая проблема)
Ошибка:
HTTP/1.1 400 Bad request
тело: <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="/redirect.php?url=aHR0cDovLzEwLjAuMC42NC9QcmF2b3ZveU5hdmlnYXRvci9lMWNzeXMvdnJzY29yZS9leGNlcHRpb24ueHNsdD9zeXN2ZXI9OC4zLjE1LjE4MzA="?><exception xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Exception" clsid="580392e6-ba49-4280-ac67-fcd6f2180121" reason="400"><descr xmlns="http://v8.1c.ru/8.1/data/core">Не указан заголовок управления сеансами или куки с идентификатором сеанса.</descr></exception>
и создаются сеансы которые не завершаются, приходится их завершать через сервер, хотя если обращаться к типовым запросам все "ок" работает и сеансы не висят вечность
Может кто знает куда смотреть?)
Но теперь встала другая проблема)
Ошибка:
HTTP/1.1 400 Bad request
тело: <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="/redirect.php?url=aHR0cDovLzEwLjAuMC42NC9QcmF2b3ZveU5hdmlnYXRvci9lMWNzeXMvdnJzY29yZS9leGNlcHRpb24ueHNsdD9zeXN2ZXI9OC4zLjE1LjE4MzA="?><exception xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Exception" clsid="580392e6-ba49-4280-ac67-fcd6f2180121" reason="400"><descr xmlns="http://v8.1c.ru/8.1/data/core">Не указан заголовок управления сеансами или куки с идентификатором сеанса.</descr></exception>
и создаются сеансы которые не завершаются, приходится их завершать через сервер, хотя если обращаться к типовым запросам все "ок" работает и сеансы не висят вечность
Может кто знает куда смотреть?)
(17) Вообщем удалил перенесенный http-сервис, который выдавал ошибку "HTTP/1.1 400 Bad request" и создал новый с другими названиями, все работает "ок" на расширение
Не разобрался что за ошибка, если есть варианты отправляйте, может кому пригодится, т.к. в интернете ни чего подходящего не нашел(
Не разобрался что за ошибка, если есть варианты отправляйте, может кому пригодится, т.к. в интернете ни чего подходящего не нашел(
Попробовать можно изменить IIS приложение DefaultApp С Встроенного на Классический.
Изображение |
---|
[IMG] |
Короче, если здесь окажутся потомки, знайте, что если все у вас в именах правильно, нигде не опечатались в своем запросе к сервису уверены, то знайте, что возможно дело в наименование самого сервиса. Если ваш сервис записан на кириллице в конфигураторе и в публикации он тоже фигурирует на кириллице тогда нужно в default.vrd установить значение атрибута service name={ИмяВашегоСервиса} на латинице (я поставил в качестве имени значение свойства сервиса Корневой URL). Мне помог решить проблему именно этот способ.
Когда дергаете http сервис из расширения, то обратите внимание на свойство в палитре "Корневой URL"
Так вот, вместо /hs/чегототам, надо сразу писать /<КорневойURL>/чего-то там
То есть когда дергаете http сервис из расширения, то /hs/ не нужен
ЗЫ ни в документации, нигде больше - не нашел....
Так вот, вместо /hs/чегототам, надо сразу писать /<КорневойURL>/чего-то там
То есть когда дергаете http сервис из расширения, то /hs/ не нужен
ЗЫ ни в документации, нигде больше - не нашел....
Если при обращении к HTTP сервису в ответ получаете
"Не указан заголовок управления сеансами или куки с идентификатором сеанса."
Перейдите в публикацию и на закладку "Прочее" и там укажите "Адрес отладчика" или "Адрес сервера отладки HTTP" все зависит от типа отладки TCP/IP или HTTP.
"Не указан заголовок управления сеансами или куки с идентификатором сеанса."
Перейдите в публикацию и на закладку "Прочее" и там укажите "Адрес отладчика" или "Адрес сервера отладки HTTP" все зависит от типа отладки TCP/IP или HTTP.
Прикрепленные файлы:

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