Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

1C_SOAP_WSDL_FAULT 1С:Предприятие и СУБД

Гайд 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-описания в файл на диске.

Полезные материалы
Рекомендуем