Мы описывали как настраивать веб-публикацию на IIS в инструкции.
Но после настройки веб-публикации при подключении к базе может возникать ошибка “Ошибка HTTP 500.0 — Internal Server Error”.
Если модуль был установлен с 32-битного клиента, то требуется это указать в пуле приложений. Для этого мы делаем следующую настройку:
- Заходим в Панель управления → Администрирование → Диспетчер служб IIS.
- Выбираем Пулы приложения которые задействованы в веб-публикации, в нашем случае DefaultAppPool.
- Нажимаем ПКМ Дополнительные параметры.
- В строке Разрешены 32-разрядные приложения мы указываем True как на Рисунке 1.
- Нажимаем ОК.
Рисунок 1 — Дополнительные параметры пула приложений
Если не сработало, есть следующие возможные решения:
- Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Заходим в директорию, где размещена публикация (по умолчанию — C:inetpubwwwrootИМЯ_БАЗЫ). Нажимаем ПКМ на web.config → Свойства → Безопасность. Убедитесь в том, что у группы IIS_USERS есть права на чтение, выполнение, запись и изменение файла. Если нет — нажмите кнопку Изменить, в появившемся окне Добавить → Дополнительно и найдите в списке IIS_USERS. Добавьте эту группу и назначьте соответствующие права.
- Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Открываем Выполнить (ПКМ на кнопку меню пуск или сочетанием клавиш Win+R), вводим “eventvwr.msc”, нажимаем Enter. Возможно, журнал даст подсказку какой компонент может сбоить.
- Переустановите компонент IIS на сервере. В диспетчере серверов удалите роль Веб-сервера IIS, перезагрузите сервер, а затем установите заново через оснастку Добавить роли и компоненты.
- Установите компонент расширения .NET, если запрос сопоставлен управляемому обработчику.
В Windows Server 2012 и младше: заходим в Диспетчер серверов → Добавить роли и компоненты → Роли сервера → Веб-сервер (IIS) → Веб-сервер → Разработка приложений → Расширяемость .NET. Далее идём далее по указаниям системы.
После применения настроек, мы можем подключаться к настроенной веб-публикации без ошибок.
Нужна готовая настройка веб-доступа к 1С? Попробуйте наш сервер 1С в аренду, в услугу включены все настройки и обслуживание.
Мы описывали как настраивать веб-публикацию на IIS в инструкции.
Но после настройки веб-публикации при подключении к базе может возникать ошибка “Ошибка HTTP 500.0 — Internal Server Error”.
Если модуль был установлен с 32-битного клиента, то требуется это указать в пуле приложений. Для этого мы делаем следующую настройку:
- Заходим в Панель управления → Администрирование → Диспетчер служб IIS.
- Выбираем Пулы приложения которые задействованы в веб-публикации, в нашем случае DefaultAppPool.
- Нажимаем ПКМ Дополнительные параметры.
- В строке Разрешены 32-разрядные приложения мы указываем True как на Рисунке 1.
- Нажимаем ОК.
Рисунок 1 — Дополнительные параметры пула приложений
Если не сработало, есть следующие возможные решения:
- Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Заходим в директорию, где размещена публикация (по умолчанию — C:inetpubwwwrootИМЯ_БАЗЫ). Нажимаем ПКМ на web.config → Свойства → Безопасность. Убедитесь в том, что у группы IIS_USERS есть права на чтение, выполнение, запись и изменение файла. Если нет — нажмите кнопку Изменить, в появившемся окне Добавить → Дополнительно и найдите в списке IIS_USERS. Добавьте эту группу и назначьте соответствующие права.
- Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Открываем Выполнить (ПКМ на кнопку меню пуск или сочетанием клавиш Win+R), вводим “eventvwr.msc”, нажимаем Enter. Возможно, журнал даст подсказку какой компонент может сбоить.
- Переустановите компонент IIS на сервере. В диспетчере серверов удалите роль Веб-сервера IIS, перезагрузите сервер, а затем установите заново через оснастку Добавить роли и компоненты.
- Установите компонент расширения .NET, если запрос сопоставлен управляемому обработчику.
В Windows Server 2012 и младше: заходим в Диспетчер серверов → Добавить роли и компоненты → Роли сервера → Веб-сервер (IIS) → Веб-сервер → Разработка приложений → Расширяемость .NET. Далее идём далее по указаниям системы.
После применения настроек, мы можем подключаться к настроенной веб-публикации без ошибок.
Нужна готовая настройка веб-доступа к 1С? Попробуйте наш сервер 1С в аренду, в услугу включены все настройки и обслуживание.
Проблема
Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:
Причина и устранение ошибки
Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.
Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».
Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.
Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.
Kamelot
15.01.16 — 10:24
Доброе утро.
В конфигурации есть три веб сервиса, два старых и один добавлен новый.
Оба старых возвращают описание когда к ним обращаются с параметром wsdl, третий нет — возвращает ошибку 500.
На внешний осмотр ничего отличающего третий веб сервис от первых двух нет, кроме одного параметра со снятой галочкой «возможно пустое значение». влияет ли эта галочка на получение описания веб сервиса.
Остап Сулейманович
1 — 15.01.16 — 10:29
(0) Ошибка 500 — внутренняя ошибка сервера. Скорее всего до определения сервиса даже не добирается. Проверять права.
Kamelot
2 — 15.01.16 — 10:30
попробовал через soapUI импортировать сервис вот что он мне сказал:
org.apache.xmlbeans.XmlException: java.io.CharConversionException: Malformed UTF-8 character: 0xed 0x3a 0x2
aka AMIGO
3 — 15.01.16 — 10:32
(0) (2) Нажал буковку «Я» справа от топика.. Много ответов по вопросу
Остап Сулейманович
4 — 15.01.16 — 10:36
(2) Права уже проверил? Или так и будешь рассматривать ошибку разными приблудами?
Kamelot
5 — 15.01.16 — 10:46
(4) Права полные.
Остап Сулейманович
6 — 15.01.16 — 11:04
(5) п л я. У кого? И на какие ресурсы?
Остап Сулейманович
7 — 15.01.16 — 11:11
(6)
Для Apache —
«Необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).»
Для IIS
«? дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог bin файлов конкретной версии системы «1C:Предприятие»;
? дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог информационной базы (только в случае файлового варианта).»
Подробно здесь : http://its.1c.ru/db/v837doc#bookmark:adm:TI000000222
Fragster
8 — 15.01.16 — 11:13
500 ошибка бывает, например когда модуль вебсервиса не компилируется. И, ЕМНИП, есть баг, когда синтакс контроль в модулях вебсервиса таки не работает.
Остап Сулейманович
9 — 15.01.16 — 11:23
(8) ТС пока еще не может получить описание веб-сервиса. А не то что вызвать метод или получить свойство. В смысле до компиляции он еще не добрался.
Kamelot
10 — 15.01.16 — 11:26
(6) пользователя 1С, логин и пароль котоорого ввожу в браузере.
(7) два сервиса из трех работют (под тем же пользователем 1С), это точно не настройка веб сервера.
(8) Спасибо, сейчас закоменчу все модуле-проверю
Остап Сулейманович
11 — 15.01.16 — 11:30
(10) Веб-сервер (не путать с сервисом) не знает никаких пользователей 1С. Он работает от имени конкретных пользователей ОС. Апач — от имени того, кто его запустил. ИИС — от имени IIS_IUSRS-ов. И вот им и нужны права на каталог платформы. И каталог базы, если она файловая. см.(7).
Остап Сулейманович
12 — 15.01.16 — 11:31
+ (11) Рабочие и не работающий Сервисы опубликованы из одной базы 1С?
Kamelot
13 — 15.01.16 — 11:38
(10) два сервиса из трех работают, разве может быть что из за отсутвия прав у IIS_IUSRS-ов не работет только один веб сервер в той же конфигурации что и первые два?
(11) да из одной конфигурации.
Остап Сулейманович
14 — 15.01.16 — 11:42
(13) Вопрос не про аналогичные конфигурации (или идентичные).
Если восьмерка файловая — из одной ли базы все три опубликованы. Или все же из разных?
Kamelot
15 — 15.01.16 — 11:52
(14) см (13), база серверная.
Остап Сулейманович
16 — 15.01.16 — 11:58
(15) Сравнивай тогда *.vrd от твоих сервисов.
Остап Сулейманович
17 — 15.01.16 — 12:00
+ (16) И конкретно строку
base=
Serginio1
18 — 15.01.16 — 12:07
Еще посмотри в web.config
scriptProcessor
Kamelot
19 — 15.01.16 — 12:18
(8)с закоменченным модулем wsdl получил, сейчас буду курить что ему там не нравиться
Fragster
20 — 15.01.16 — 12:24
всем :-Р
Serginio1
21 — 15.01.16 — 12:35
(19) Лучше вынеси всю реализацию в обычный модуль. Так тебе проще тестировать. А в модуле вэб сервиса уже вызывай и можешь использовать попытку исключение с записью в ЖР итд
Kamelot
22 — 15.01.16 — 12:51
в меню сервис->параметры->проверка модулей проставил все галочки, выдает синтаксическую ошибку на определение переменных в теле модуля : Перем блаблабла.
сейчас перенесу определения в главную функцию которую сервис вызывает, и посмотрим что будет.
Internet Information Services (IIS) довольно капризный веб — сервер, его настройка сложнее Apache и при его работе чаще возникают проблемы и ошибки, но он позволяет обеспечить хорошую производительность работы программных продуктов на платформе 1С, работающих через веб — клиент. Маленькие организации могут использовать IIS как замена серверу 1С.
В этой статье я постарался собрать все проблемы и решения ошибки:
HTTP Error 500.0 - Internal Server Error
There is a problem with the resource you are looking for, so it cannot be displayed.
Module IsapiModule
Notification ExecuteRequestHandler
Handler 1C Web-service Extension
HTTP: Internal Server Error
Ошибка работы с ресурсом
Проблема 1. 32 –разрядная платформы 1С
Если у вас ОС Windows 64 – разрядный, а платформу 1С вы используете 32 битную, я рекомендую поставить 64 и повторно опубликовать базу через конфигуратор, предварительно указав в настройках списка баз вариант запуска информационной базы.
Если вы все же решили использовать 32 битную версию платформы, надо установить настройку «Разрешены 32-разрядные приложения» в значение True в параметрах пула приложений
Проблема 2. Путь к библиотеке wsisapi.dll
Бывает так, что указан ошибочной путь к разрядности или версии платформы. Проверьте адрес библиотеки wsisapi.dll в файле C:inetpubwwwroot<Имя вашей публикации>web.config
Проблема 3. Старый компонент Microsoft Visual C++
Установите свежую версию библиотеки Visual C++. Скачать можно официального сайта Microsoft
https://support.microsoft.com/ru-ru/help/2977003.
Проблема 4. Использование разных версий платформ в опубликованных базах
Если вам надо опубликовать базы на разных версиях, создайте новый Пул приложений и укажите его в основных настройках публикации.
Проблема 5. Права доступа к файлам 1С
Группы пользователей IUSR и IIS- IUSRS должны иметь доступ к папкам с установленной платформой, а так же к самой информационной базе .
PS
Если вам не помог совет, напишите об этом в комментариях )
Мар
20
При последнем обновлении платформы 1C и замене 32х битного сервера приложений на 64х битный, столкнулся с проблемой WEB морды: Ошибка HTTP 500.0 — Internal Server Error
Ошибка HTTP 500.0 — Internal Server Error
В чём дело то ? Остановил 32х битный сервер, запустил 64х битный сервер приложений и на тебе.
Полез разбираться. Предположительно, проблема кроется в самом IIS. Если подумать логически, то при смене разрядности сервера запускаются 64х битные приложения от самой 1с. Надо IIS разрешить обрабатывать такие DLL.
Куда лезть, что копать ? Для начала проверим стартовую страницу самого IIS — Default Web Site
Default Web Site — работает и это замечательно ) понятно что IIS исправен.
Что отвечает за работу приложений в разных разрядностях на опубликованных сайтах 1с на сервер IIS ?
Да, это DefaultAppPool. Заходим: Пулы приложений, выбираем DefaultAppPool, с правой стороны — дополнительные параметры.
Строка: Разрешены 32-разрядные приложения стоит TRUE (правда), а не правда. Ставим не правду FALSE.
Ок, закрываем, перегружаем IIS. Проверяем публикацию.
ТАДААААМ!!! прекрасно. Наша — Ошибка HTTP 500.0 — Internal Server Error нас отпустила )
Подводим итоги:
Для запуска опубликованного 1с на IIS при смене разрядности сервера приложений 1с необходимо:
- Изменить в настройках IIS , Пулы приложений, DefaultAppPool.
- Заменить: Разрешены 32-разрядные приложения с TRUE на FALSE.
Всем приятной работы и хорошего настроения.
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Дата обновления: 28.06.2022
Ошибка возникает как при попытке отправить приглашение контрагенту, так и при попытке принять его от контрагента.
Полный текст ошибки:
Выполнение операции: Получение ЭД.
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(3262)}: Ошибка при вызове метода контекста (Получить)
Соединение.Получить(АдресРесурса, ИмяФайлаРезультата, Заголовки);
по причине:
Ошибка при выполнении файловой операции ‘AcceptContact?id=2AED83AF80B-87F3-4A2C-950D-E7CCE2B6CE34’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). {
«Details»: «Неизвестная ошибка»,
«AdditionalData»: «Неизвестная ошибка»,
«ApiErrorCode»: 0,
«CommonDescription»: «Неизвестная ошибка сервиса. Попробуйте позже или обратитесь в службу поддержки»,
«StatusCode»: 500
}
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Для решения проблемы необходимо:
1. В разделе «Настройки ЭДО» пометить настройку на удаление.
2. Зайти в Профиль настроек ЭДО (для 1С 8.3 Администрирование — Обмен электронными документами — Обмен с контрагентами — Профили настроек ЭДО — открыть «Профиль» — Ещё — Начальная дата запроса данных у оператора; для 1С 8.2 Сервис — Обмен электронными документами — Профили настроек ЭДО — открыть «Профиль» — Все действия — Начальная дата запроса данных у оператора) и очистить поле для даты запроса данных по приглашениям, см. Рис 1.
Рис. 1
3. Вернуться в раздел «Настройки ЭДО» и нажать на кнопку «Обновить статусы подключения» — статус подключения настройки изменится на «Присоединен».
Проблема
Эта ошибка возникает после того как Вы опубликуете информационную базу на IIS. Вот она:
Причина и устранение ошибки
Вообще, надо понимать, что ошибка: Ошибка HTTP 500.0 — Internal Server Error говорит нам о том, что дело в самом web-сервере, а не в 1С. Это первое.
Второе. Сама ошибка в купе с 1С скорее всего означает, что Internet Information Services (оно же IIS) в 64-разрядной среде запрещен запуск 32-разрядных приложений. Чтобы успешно выполнить публикацию баз 1С на сервере IIS, необходимо в настройках диспетчера служб IIS разрешить запуск таких приложений.
Для этого выполните Win+R > inetmgr.exe. Далее, разверните «Локальный компьютер», в нем «Пулы приложений», щелкните правой кнопкой мыши по DefaultAppPool «Дополнительные параметры».
Изменив эту настройку и нажав «ОК» 1С начнет нормально работать.
Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки
15.01.16 — 10:24
Доброе утро.
В конфигурации есть три веб сервиса, два старых и один добавлен новый.
Оба старых возвращают описание когда к ним обращаются с параметром wsdl, третий нет — возвращает ошибку 500.
На внешний осмотр ничего отличающего третий веб сервис от первых двух нет, кроме одного параметра со снятой галочкой «возможно пустое значение». влияет ли эта галочка на получение описания веб сервиса.
1 — 15.01.16 — 10:29
(0) Ошибка 500 — внутренняя ошибка сервера. Скорее всего до определения сервиса даже не добирается. Проверять права.
2 — 15.01.16 — 10:30
попробовал через soapUI импортировать сервис вот что он мне сказал:
org.apache.xmlbeans.XmlException: java.io.CharConversionException: Malformed UTF-8 character: 0xed 0x3a 0x2
3 — 15.01.16 — 10:32
(0) (2) Нажал буковку «Я» справа от топика.. Много ответов по вопросу
4 — 15.01.16 — 10:36
(2) Права уже проверил? Или так и будешь рассматривать ошибку разными приблудами?
5 — 15.01.16 — 10:46
(4) Права полные.
6 — 15.01.16 — 11:04
(5) п л я. У кого? И на какие ресурсы?
7 — 15.01.16 — 11:11
(6)
Для Apache —
«Необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).»
Для IIS
«? дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог bin файлов конкретной версии системы «1C:Предприятие»;
? дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_<PC_NAME> для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.0 или 7.5), на каталог информационной базы (только в случае файлового варианта).»
Подробно здесь : http://its.1c.ru/db/v837doc#bookmark:adm:TI000000222
8 — 15.01.16 — 11:13
500 ошибка бывает, например когда модуль вебсервиса не компилируется. И, ЕМНИП, есть баг, когда синтакс контроль в модулях вебсервиса таки не работает.
9 — 15.01.16 — 11:23
(8) ТС пока еще не может получить описание веб-сервиса. А не то что вызвать метод или получить свойство. В смысле до компиляции он еще не добрался.
10 — 15.01.16 — 11:26
(6) пользователя 1С, логин и пароль котоорого ввожу в браузере.
(7) два сервиса из трех работют (под тем же пользователем 1С), это точно не настройка веб сервера.
(8) Спасибо, сейчас закоменчу все модуле-проверю
11 — 15.01.16 — 11:30
(10) Веб-сервер (не путать с сервисом) не знает никаких пользователей 1С. Он работает от имени конкретных пользователей ОС. Апач — от имени того, кто его запустил. ИИС — от имени IIS_IUSRS-ов. И вот им и нужны права на каталог платформы. И каталог базы, если она файловая. см.(7).
12 — 15.01.16 — 11:31
+ (11) Рабочие и не работающий Сервисы опубликованы из одной базы 1С?
13 — 15.01.16 — 11:38
(10) два сервиса из трех работают, разве может быть что из за отсутвия прав у IIS_IUSRS-ов не работет только один веб сервер в той же конфигурации что и первые два?
(11) да из одной конфигурации.
14 — 15.01.16 — 11:42
(13) Вопрос не про аналогичные конфигурации (или идентичные).
Если восьмерка файловая — из одной ли базы все три опубликованы. Или все же из разных?
15 — 15.01.16 — 11:52
(14) см (13), база серверная.
16 — 15.01.16 — 11:58
(15) Сравнивай тогда *.vrd от твоих сервисов.
17 — 15.01.16 — 12:00
+ (16) И конкретно строку
base=
18 — 15.01.16 — 12:07
Еще посмотри в web.config
scriptProcessor
19 — 15.01.16 — 12:18
(8)с закоменченным модулем wsdl получил, сейчас буду курить что ему там не нравиться
20 — 15.01.16 — 12:24
всем :-Р
21 — 15.01.16 — 12:35
(19) Лучше вынеси всю реализацию в обычный модуль. Так тебе проще тестировать. А в модуле вэб сервиса уже вызывай и можешь использовать попытку исключение с записью в ЖР итд
Kamelot
22 — 15.01.16 — 12:51
в меню сервис->параметры->проверка модулей проставил все галочки, выдает синтаксическую ошибку на определение переменных в теле модуля : Перем блаблабла.
сейчас перенесу определения в главную функцию которую сервис вызывает, и посмотрим что будет.
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
Ошибка 500
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.