Ошибка инициализации модуля: HTTPСервис

13.04.20

Интеграция - WEB-интеграция

Решение проблемы "Ошибка при работе с HTTP сервисом 500. Ошибка инициализации модуля".

Всем добрый день!

Данную публикацию нельзя назвать статьей, скорее хочу поделиться опытом, на фоне того, что подобной информации в сети почти нет и в моем случае мне пришлось разбираться самому.

В общем появилась задача получать и отправлять данные между двумя решениями используя как прослойку - третье, в котором по задумке эти данные должны были консолидироваться.

Особенность задачи состояла в том, что гонять данные было необходимо при помощи HTTP сервиса т.к. в дальнейшем по задумке к данному сервису будут обращаться другие приложения не имеющие отношения к платформе 1С.

В общем создал в каждом из решений по HTTP сервису, добавил шаблон, свойства обработки методом POST, написал код и решил что все готово. Как создать опубликовать и настроить HTTP сервис писать не буду - этой информации в сети достаточно. Все было реализовано в конфигурации на обычных формах и как следствие с использованием только толстого клиента.

При тестировании мне начала прилетать ошибка HTTP 500 - Internal Server Error. Не сильно информативно. В ходе работ было выяснено, что вся конструкция падает на ошибке "Ошибка инициализации модуля HTTPСервис.ИмяСервиса.Модуль".

Простота (проще только мыло хозяйственное) и сообщение платформы "Синтаксических ошибок не обнаружено!" наталкивало только на одну мысль - корявый релиз платформы. 

В результате, был опробован другой релиз, смена IIS на Apache и обратно и ковыряние различных форумов.

Причина оказалась следующая:

В модуле HTTP сервиса, как выяснилось, нельзя использовать ряд функций и методов платформы - в моем случае это ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр.

Обработку значений с использованием данных методов я вынес в отдельный общий модуль после чего вся конструкция завелась и прекрасно работает.

Возможно данная информация сэкономит кому-то день времени.

На этом все, спасибо за внимание!

HTTP 500 - Internal Server Error Ошибка инициализации модуля: HTTPСервис.

См. также

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34315    65    45    

26

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2302    2    0    

9

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    2050    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18861    21    22    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    3557    3    2    

4

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18584    53    50    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dsdred 3788 13.04.20 09:57 Сейчас в теме
500-я говорит о многом...
Эта ошибка наверно одна из самых обширных.

А методы ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр в http сервисе то вам зачем?
Любите данные пожирнее?
2. VipDim 17 13.04.20 11:44 Сейчас в теме
(1)Так вышло, что из первой ИБ в ИБ-прослойку летел мусор, там разбирался, оседал и уже обработанные структурированные данные летели в конечные ИБ в виде массива со структурами и не только. Чтобы для каждой ИБ не описывать свои особенности получения таких данных было решено сделать на конечной стороне в каждой ИБ http сервис в который будет прилетать не только готовый массив со структурами но и код который будет запускаться на стороне ИБ приемника и каждую структуру обрабатывать - так я ухожу от необходимости постоянно допиливать каждую конечную ИБ (их 13) под особенности отправляемых данных. Может топорно выглядит конечно, но в части отказоустойчивости по надежности превосходит даже кирпич, да и производительность очень радует, проверено )
3. dsdred 3788 13.04.20 12:05 Сейчас в теме
(2)
код который будет запускаться

Выполнить...
Не страшно спать когда код летает и выполняется?

так я ухожу от необходимости постоянно допиливать каждую конечную ИБ (их 13) под особенности отправляемых данных

Так вы создаете дыру в безопасности и гоняете лишний трафик ;))

"Выполнятор" – как я породил монстра и лишился сна!
5. VipDim 17 13.04.20 23:49 Сейчас в теме
(3)
Так вы создаете дыру в безопасности и гоняете лишний трафик ;))

С одной стороны да, но в моем случае базы за VPNом лежат и с улицы никакие запросы не принимаются - только из своих систем, да и авторизация пользователя же есть.
8. dsdred 3788 14.04.20 09:01 Сейчас в теме
(5)
1 свои тоже бывают засланные.
2 после вас придет другой это поддерживать человек и карму вашу попортит вспоминая недобрым словом...

П.С. Мне кажется все проходят через вот такой Выполнятор, это часть взросления что ли ))
4. FesenkoA 59 13.04.20 12:11 Сейчас в теме
ничего никогда не пишите в модуле хттп сервиса. Кроме вызова общего модуля, конечно. По опыту говорю.
tehas; simuljakr; Slypower; Sergafan10; ProstoProgrammist; elga2012; Vortigaunt; user779117; +8 Ответить
6. VipDim 17 13.04.20 23:52 Сейчас в теме
(4)Эх, мне бы это теперь уже полученный опыт, пару дней назад....
Я раньше и не писал ничего в этом модуле, а в этот раз лениво стало для нескольких строк коды модуль делать - работы только начались про проекту и сейчас архитектура выстраивается и проверяется.
7. user779117 14.04.20 01:44 Сейчас в теме
Если я правильно помню, в модуле http отладка совсем криво работает. Напиши в этом модуле "бред" и нажми синтаксисконтроль ради эксперимента...
Сам всегда собираю структуру заголовков, параметров и тело и перенаправляю в общие модули..
electrolis; Dimkasan; ProstoProgrammist; +3 Ответить
9. Region102 23.04.20 06:28 Сейчас в теме
Сложность отладки 500 ошибки может заключаться в том, что вызов ошибочной функции может находится гораздо глубже одного, двух модулей.
Dementor; Vortigaunt; +2 Ответить
10. Vortigaunt 99 03.05.20 21:03 Сейчас в теме
(9) Для таких случаев рекомендую использовать конструкции Попытка Исключение, текст, возвращаемый функцией ОписаниеОшибки() класть в тело ответа. Тогда клиент получает не ошибку 500, а текст ошибки, и может его отобразить.
11. Sergafan10 27.01.21 09:45 Сейчас в теме
Спасибо тебе, мил человек!
12. EMelihoff 03.03.21 15:21 Сейчас в теме
13. EjiGofra 19.05.21 11:13 Сейчас в теме
Спасибо, помог с решением.
У меня проблема в "РаскодироватьСтроку"
14. zaursoft 19 17.11.21 12:18 Сейчас в теме
Первым делом можно создать внешнюю обработку, скопировать весь модуль сервиса в модуль обработки и запустить проверку кода. В этом случае корректно проверяется всё, кроме использования функций, которые недоступны для внешнего соединения. А их уже отловить проще, чем лишнюю скобку или недостающую запятую в стопятьсотой строке.
15. ProstoProgrammist 6 22.01.23 13:01 Сейчас в теме
У меня все еще проще оказалось. Та же ошибка. Модуль проходит проверку.
Но по факту в модуле была ошибка, забыл поставить точку с запятой в одной из строчек.
Но как тогда модуль проходит проверку синтаксиса? А так, он его вообще не проверяет, хоть что туда пиши!
Копирую код, вставляю во внешнюю обработку, там проверяю синтаксис, находит ошибки, правлю, вставляю назад - Работает!
Платформа 8.3.16.1063, а как у вас?
Strange Device; +1 Ответить
17. Strange Device 308 13.06.23 13:07 Сейчас в теме
(15) Спасибо тебе, мил человек!!! Кучу времени угробил, прежде чем на твой пост наткнулся :-( , тоже понять не мог, почему проверку проходит, но при работе выдает ошибку... Действительно, модуль никто и не пытается проверять...
antonio_i; ProstoProgrammist; +2 Ответить
16. Dimka74 24.01.23 18:21 Сейчас в теме
Платформа 8.3.22.1750, такая же беда((
ProstoProgrammist; +1 Ответить
18. mrd_84 07.08.23 10:56 Сейчас в теме
У меня проблема была вызвана тем что в модуле регистра сведений были ошибки. Ошибки исправил, проблема ушла.
19. METRANDIR 05.12.24 13:10 Сейчас в теме
Если явных проблем в модуле нет, то скорее всего допущена какая-то незначительная ошибка.
При которой "проверка модуля" не выдает никаких сообщений.
В моем случае ошибка была в наименовании области:
Было: #Область GET-методы
Стало: #Область GETметоды
И все завелось.
Имена областей должны удовлетворять требованиям стандарта https://its.1c.ru/db/v8std/content/454/hdoc
20. пользователь 06.12.24 11:45
Сообщение было скрыто модератором.
...
21. user1569194 06.12.24 12:51 Сейчас в теме
Столкнулся с такой проблемой, уже не знаю куда копать.
Ошибка инициализации модуля: WebService_MB HTTPService.GetInfo.Module
Функция ШаблонURL1GetRoomAndServicce(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
  СтрокаJSON = WS_MbRun.GetRoomAndServicce();
  Ответ.Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
  Ответ.УстановитьТелоИзСтроки(СтрокаJSON,КодировкаТекста.UTF8); 
  Возврат Ответ;
КонецФункции

может кто что подскажет
22. user1569194 06.12.24 15:02 Сейчас в теме
решилось выносом функции из общего модуля
Оставьте свое сообщение