Ошибка при вызове конструктора (WSОпределения) Модуль 198 и 504
Добрый день! Уважаемые читатели и гости популярного компьютерного блога pyatilistnik.org. В прошлый раз мы с вами решили ошибку " db query error please try later", и восстановили работу сайта на платформе 1С Битрикс. Сегодня я хочу поделиться небольшой заметкой, как выйти из ситуации, когда не работает кнопка «Заполнить по ИНН» в Справочнике Контрагенты при создании нового. Выдается ошибка "ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198): Ошибка при вызове конструктора (WSОпределения) WSОпределения = Новый(Тип("WSОпределения"). Давайте разбираться в чем собственно дело.
Причины ошибок с модулем 198-504
Вся проблема связана с неправильным и устаревшим сертификатом, это бывает если вы давно не обновляли свою версию 1С, а в этот момент как раз истек срок сертификата, который участвует в подключении к внешним сервисам, например, npchk.nalog.ru или api.orgregister.1c.ru.
Вот так вот выглядит более полный текст ошибки:
Выдает ошибку:
{ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)}: Ошибка при вызове конструктора (WSОпределения)
WSОпределения = Новый(Тип("WSОпределения"), Параметры);
по причине:
При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка. URL сервиса: https://api.orgregister.1c.ru/orgregister/v7?wsdl
по причине:
Ошибка работы с Интернет: Удаленный узел не прошел проверку
Определения = Новый WSОпределения (ИмяФайлаWSDL, ИмяПользователя, Пароль, ИнтернетПрокси, Таймаут);
по причине:
Ошибка импорта схемы
по причине:
Ошибка при выполнении файловой операции '_ttp://npchk.nalog.ru:80/FNSNDSCAWS_2?xsd=1'
по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504).
10060 - Ошибка соединения с сервером
HOST - npchk.nalog.ru[81.177.31.8]; PORT - 80
Connection timed outTraffic Inspector HTTP/FTP/Proxy server (3.0.2.912)
по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)
Как решить проблему
- Самым быстрым методом? будет замена сертификата cacert.pem, который располагается в папке с вашим клиентом. Скачать cacert.pem можно о официального сайта по ссылке:
В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:
Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:\Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.
- Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf
ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:
- Файл cacert.pem занят. Освободите файл от редактирования и запустите обработку заново.
- Закройте 1С: Предприятие и запустите с правами администратора операционной системы
- Ну и третий метод, это редактирование текущего файла cacert.pem. Откройте его текстовым редактором и в самом конце файла вставьте содержимое файла digicert.pem, который можно скачать тут: