Skip to main content

Web-сервисы

SOAP механизм предоставления API для интеграции 1С с внешними системами через XML и WSDL. Механизм для строгой типизированной интеграции через XML. Ключевые компоненты: WSDL (контракт), WS-ссылка (подключение).

Ключевые понятия

ПонятиеОписаниеРоль в 1С
SOAPПротокол обмена XML-сообщениямиОснова веб-сервисов
WSDLЯзык описания веб-сервисов (XML)Автодокументация и валидация
WS-ссылкаОбъект для подключения к внешним сервисамАвтогенерация прокси-класса

Ответы на ключевые вопросы

1. Публикация веб-сервиса:

Требования:

  1. Установленная платформа 1С с компонентой веб-сервисов
  2. Веб-сервер (IIS/Apache) с поддержкой 1С
  3. Настроенная публикация ИБ

Шаги:

Конфигуратор → Администрирование → Публикация ИБ
• Указать имя, каталог
• Включить веб-сервисы
• URL для доступа: http://server/публикация/ws

2. Определение операций во внешнем сервисе:

// Через WS-ссылку в конфигураторе:
1. Добавить WS-ссылку (URL WSDL)
2. Платформа загрузит описание
3. В свойствах → все доступные операции и их сигнатуры

3. Возврат двоичных данных:

// Только в формате Base64 (ограничение SOAP)

4. SOAP, WSDL, WS-ссылка:

SOAP → "КАК" обмениваемся (XML + HTTP)
WSDL → "ЧТО" можно вызвать (контракт)
WS-ссылка → "ИНСТРУМЕНТ" в 1С для работы по WSDL

// Практическое использование:
WS = Новый WSСсылки("http://server/service?wsdl");
Результат = WS.Сервис().Метод(Параметры); // Автогенерация вызова

Особенности веб-сервисов

Ограничения и особенности:

  1. Только XML — никакого JSON
  2. Base64 для бинарных данных — накладные расходы
  3. Сложная структура — XSD, namespaces, сложные типы
  4. WSDL обязателен — без него нельзя корректно подключиться

Веб-сервисы vs HTTP-сервисы

Критерии выбора:

КритерийВеб-сервисы (SOAP)HTTP-сервисы (REST)
Когда выбирать✅ 1С ↔ 1С интеграция✅ Банки, гос.системы✅ Сложная бизнес-логика✅ Мобильные приложения✅ Веб-интерфейсы✅ Современные интеграции
Формат данных❌ Только XML✅ JSON, XML, любой
Бинарные данные❌ Base64 (распухание)✅ Прямая передача
Сложность⚠️ Высокая (WSDL, XSD)✅ Низкая (HTTP + JSON)
Стандартизация✅ Строгая (контракт WSDL)⚠️ Гибкая (договоренности)
Использование в в наше время⬇️ Устаревает, но необходимо для legacy⬆️ Основной выбор для новых проектов

Правило выбора:

Веб-сервисы (SOAP) — для интеграции с корпоративными системами, банками и гос.органами, где есть готовый WSDL.

HTTP-сервисы (REST) — для всего остального, особенно для мобильных и веб-приложений.