Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Гайд 1С: Публикация и отладка SOAP Web-сервисов (WSDL) на платформе 1С

Обновлено: 26.08.2026  ·  Официальная база знаний

При эксплуатации SOAP Web-сервисов на платформе 1С возникают сложности:

  • Ошибки разбора контракта WSDL is not valid XML при импорте сторонними клиентами (Java, .NET, SAP).
  • Исключения SOAP-ENV:Fault: Ошибка проверки XDTO-пакета.
  • Отказ публикации Web-сервисов при наличии циклических ссылок в типах данных.
  • Низкая скорость разбора тяжелых SOAP-конвертов (SOAP Envelope).

1. Разработка операции Web-сервиса

Создайте Web-сервис в конфигураторе, определите пакет XDTO и опишите операцию экспорта данных:

Функция GetAccountBalance(AccountID, CurrencyCode)
    // Проверка входных параметров
    Если ПустаяСтрока(AccountID) Тогда
        ВызватьИсключение "Параметр AccountID обязателен для заполнения!";
    КонецЕсли;
    
    // Создание результирующего XDTO-объекта на основе схемы
    ТипРезультата = ФабрикаXDTO.Тип("http://corp.local/banking/ws", "AccountData");
    ОтветXDTO = ФабрикаXDTO.Создать(ТипРезультата);
    ОтветXDTO.AccountID = AccountID;
    ОтветXDTO.Balance = ПолучитьОстатокПоСчету(AccountID, CurrencyCode);
    
    Возврат ОтветXDTO;
КонецФункции

2. Проверка WSDL-схемы

После публикации проверьте доступность WSDL через браузер по адресу:

https://server.corp.local/base_ws/ws/BankingService.1cws?wsdl

Убедитесь, что все пространство имен (Target Namespace) уникально и доступно клиентам без циклических импортов.

Практический опыт инженера: Для интеграции современных микросервисов отдавайте предпочтение HTTP-сервисам (REST/JSON) вместо SOAP. Web-сервисы WSDL используйте только для устаревших корпоративных шин (ESB) и государственных систем.

Частые вопросы (FAQ)

Где описываются сложные типы возвращаемых данных для Web-сервиса?

Сложные типы (структуры, массивы объектов) описываются в конфигураторе в ветке 'Пакеты XDTO' и затем выбираются в качестве типа возвращаемого значения операции сервиса.

Как перехватить и кастомизировать SOAP Fault при ошибке в коде 1С?

При возникновении необработанного исключения платформа 1С автоматически оборачивает текст ошибки в стандартный узел <soap:Fault>. Для кастомизации возвращайте типизированный XDTO-объект с кодом статуса.

Почему Web-сервисы 1С требуют обязательной аутентификации?

Для выполнения операций веб-сервиса платформа создает пользовательский сеанс, права которого определяют доступ к метаданным. Аутентификация настраивается в файле default.vrd или заголовках HTTP Basic.

Можно ли генерировать статический WSDL файл для передачи партнерам?

Да, откройте Web-сервис в конфигураторе, перейдите в свойства и нажмите кнопку сохранения WSDL-описания в файл на диске.