При работе в типовых и доработанных конфигурациях 1С (например, 1С:Управление производственным предприятием 1.3 или старых редакциях других конфигураций) при попытке заполнить данные контрагента по ИНН может возникать ошибка обращения к веб-сервису.
В окне сообщений появляется системная ошибка следующего вида: {ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль}: Ошибка при вызове конструктора (WSОпределения) по причине: При создании описания сервиса произошла ошибка. URL сервиса: https://api.orgregister.1c.ru/orgregister/v2?wsdl Код ответа сервера: 500.
Разберем детально, почему возникает данный сбой и какие способы позволяют восстановить корректную работу сервиса автозаполнения реквизитов.
Сервис «1С:Контрагент» обращается к удаленным веб-сервисам фирмы «1С». Со временем протоколы и точки подключения устаревают и выводятся из эксплуатации. Ошибка 500 (Internal Server Error) или 503 (Service Unavailable) при попытке загрузить WSDL-описание по адресу https://api.orgregister.1c.ru/orgregister/v2?wsdl означает, что указанная версия веб-сервиса была отключена разработчиками на стороне провайдера сервиса.
В нетиповых или давно не обновлявшихся базах алгоритм продолжает слать запросы к недействующей точке входа, что и приводит к падению конструктора WSОпределения.
Для типовых конфигураций наиболее правильным решением является обновление. Разработчики переносят механизмы взаимодействия на новые версии интерфейсов в составе типовых обновлений и Библиотеки стандартных подсистем (БСП).
Если база данных сильно доработана и оперативное обновление до актуального релиза невозможно, скорректируем программный код вручную. Для этого перенастроим адрес WSDL и параметры создания WS-прокси на версию интерфейса v7.
Посмотрим на пример изменения кода в модуле, отвечающем за интеграцию с сервисом:
Функция АдресСервиса()
Возврат "https://api.orgregister.1c.ru/orgregister/v7?wsdl";
КонецФункции
// Создание прокси для выполнения запросов
Прокси = ОбщегоНазначения.WSПрокси(
АдресСервиса(), // АдресWSDL
ПространствоИмен(), // URIПространстваИмен
"RequisitesWebServiceEndpointImpl7Service", // ИмяСервиса
"RequisitesWebServiceEndpointImpl7Port", // ИмяТочкиПодключения
ПараметрыАутентификации.Логин, // ИмяПользователя
ПараметрыАутентификации.Пароль, // Пароль
60);
Обратим внимание на то, что при смене версии интерфейса на v7 обязательно должны быть синхронно изменены имя сервиса и имя точки подключения на RequisitesWebServiceEndpointImpl7Service и RequisitesWebServiceEndpointImpl7Port соответственно.
Если после обновления адреса подключение по-прежнему завершается ошибкой, проанализируем следующие факторы:
Кэш программных интерфейсов и удалим старые записи, после чего перезапустим клиентский сеанс.inetcfg.xml).Если конфигурация снята с поддержки или внесение изменений в метаданные нежелательно, рассмотрим альтернативные пути:
HTTPСоединение и HTTPЗапрос с обработкой ответа в формате JSON. Это позволяет организовать заполнение реквизитов напрямую из открытых реестров юридических лиц и индивидуальных предпринимателей.