8. Механизмы интеграции и обмена данными
#43

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Для чего в конфигурации 1С:Предприятия нужен объект «WSСсылка»?

Чтобы опубликовать (экспортировать) собственный веб-сервис информационной базы для внешних систем
Неправильно: Публикация функциональности ИБ во внешний мир выполняется объектами, которые описывают «свои» сервисы (например, веб-сервис/HTTP-сервис) и их методы. «WSСсылка» предназначена для потребления внешнего сервиса, а не для публикации вашего.
Чтобы подключаться к внешнему web-сервису по заранее зафиксированному (статическому) WSDL-описанию, сохранённому в конфигурации
Правильно: «WSСсылка» хранит статическое WSDL-описание сервиса и позволяет 1С опираться на него при формировании вызовов (создании прокси/типов и обращении к методам). Это упрощает интеграцию, когда контракт сервиса известен заранее и не предполагается, что он будет подгружаться и меняться «на лету».
Чтобы вызывать web-сервисы динамически: каждый раз получать/строить описание сервиса во время выполнения и уже по нему обращаться к методам
Неправильно: «WSСсылка» как раз про статический контракт (WSDL), который «привязан» к конфигурации. Для динамических сценариев обычно используют программное формирование SOAP/HTTP-взаимодействия или загрузку/обработку описания сервиса во время выполнения без фиксации WSDL в объекте «WSСсылка».

Пояснение

WSСсылка (WS Reference) - это «точка подключения» к внешнему SOAP web-сервису, когда его контракт (WSDL) известен заранее и должен быть закреплён в конфигурации. Типовой практический сценарий: сторонняя система (банк, логистика, ЭДО/шлюз, CRM) выдала URL или файл WSDL - вы добавляете в конфигурацию объект «WSСсылка», указываете/подгружаете WSDL и обновляете описание. После этого платформа может использовать зафиксированный контракт, чтобы корректно формировать запросы и работать с типами данных, а разработчик в коде создает клиентский объект (прокси) и вызывает методы сервиса, не собирая SOAP-сообщение вручную. Важно различать роли: если нужно «отдать наружу» функции вашей базы (чтобы другие системы вызывали методы 1С), применяются объекты публикации собственных сервисов (веб-сервис/HTTP-сервис) и настройка публикации на веб-сервере. WSСсылка, наоборот, нужна, когда 1С выступает клиентом и обращается к чужому сервису по заранее согласованному WSDL. Пример контекста: интеграция с курьерской службой. У службы есть WSDL с методами CreateOrder, GetStatus. В конфигурации создают WSСсылку на этот WSDL, затем в обработке/модуле создают прокси-клиент на основании WSСсылки и вызывают методы, передавая структуру/объекты данных согласно схеме. Если же WSDL часто меняется, или его нужно выбирать/подгружать в зависимости от условий (тенант, регион, версия API), то статическая WSСсылка становится неудобной - в таких случаях переходят к более «динамическому» варианту: формировать запросы программно или загружать описание на runtime и обрабатывать его без фиксации в конфигурации.