При разработке и развертывании веб-сервисов (SOAP / WSDL) в среде 1С:Предприятие разработчики часто сталкиваются с ситуацией, когда на локальной базе сервис функционирует корректно, однако после переноса на рабочий веб-сервер (IIS или Apache) при попытке получить WSDL-схему либо добавить объект WSСсылка возникают ошибки: 404 Not Found, 500 Внутренняя ошибка сервера (Сервис не найден) или системное исключение Текущему соединению с информационной базой не назначен сеанс.
Разберем детально механизм возникновения этой проблемы и рассмотрим пошаговые методы ее гарантированного устранения.
Проанализируем, почему веб-сервер и платформа 1С возвращают ошибки при обращении по адресу вида .../ws/ServiceName.1cws?wsdl:
default.vrd). При переименовании веб-сервиса, смене его псевдонима (алиаса) или повторной публикации через конфигуратор 1С не всегда удаляет старые записи из секции ws. В результате в файле остаются дублирующие или неактуальные узлы, ссылающиеся на несуществующие объекты метаданных.wsisapi.dll или wsap24.so). Если параметры изменились, веб-сервер может продолжать обрабатывать запросы по устаревшей схеме.Текущему соединению с информационной базой не назначен сеанс возникает, когда веб-расширение 1С передает запрос кластеру или файловой базе, но платформа не находит веб-сервис с запрошенным именем среди метаданных базы либо не может авторизовать пользователя.Рассмотрим основной способ решения проблемы прямо из графического интерфейса конфигуратора 1С, когда переименование сервиса привело к конфликту записей.
Разберем действия по шагам:
default.vrd..1cws) и нажмем кнопку Опубликовать повторно.Такой цикл перезаписи гарантирует удаление «мусорных» тегов и формирует корректный дескриптор виртуального каталога.
Если доступ к конфигуратору ограничен или требуется проверить корректность параметров вручную, проанализируем структуру файла default.vrd, который находится в каталоге публикации веб-сервера.
Откроем default.vrd в любом текстовом редакторе и проверим секцию веб-сервисов. Корректная структура должна выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<point 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"
base="/office"
ib="File="C:\Bases\Office";">
<ws>
<point name="WebPartner"
alias="Partner.1cws"
enable="true"/>
</ws>
</point>
Проверим ключевые атрибуты узла point внутри секции ws:
.1cws), по которому клиенты обращаются за WSDL-схемой.true.point со старыми или дублирующимися именами.После изменения дескриптора публикации необходимо сбросить кэш веб-сервера. Выполним перезапуск служб в зависимости от используемой платформы:
iisreset либо выполним рециркуляцию (Recycle) соответствующего пула приложений в диспетчере IIS.Apache2.4 через оснастку служб или команду httpd -k restart.sudo systemctl restart apache2 или sudo systemctl restart httpd.Выясним, как проверить корректность работы сервиса после публикации:
http://адрес-сервера/имя-публикации/ws/ИмяФайла.1cws?wsdl.WSСсылка и укажем полученный URL — импорт схемы должен пройти без сбоев.