WEB-сервис – система, предназначенная для интеграции с другими информационными платформами. Существенный плюс инструмента – возможность однородного развития инфраструктуры организации, т.е. без уничтожения уже имеющихся и необходимых решений. Создавая современный ландшафт предприятия с помощью унаследованных и разнородных систем, можно снизить издержки и увеличить повторную используемость слабо связных программных компонентов.
Важный момент: веб-сервисы поддерживаются повсеместно, они автономны и независимы от какой-либо платформы.
Что такое веб-сервисы в 1С?
Если говорить простыми словами, то веб-сервис «1С» - инструмент, позволяющий использовать различные функции этого софта вне базы программы «1С». Например, из другой утилиты.
Использование веб-сервисов является более предпочтительным вариантом, чем предоставление прямого доступа к информации «1С». Т.к. в этом случае у внешней утилиты нет доступа к сведениям софта, ограничивающего ее права (прописываются разработчиком).
Веб-сервисы «1С» располагаются в ветке «Общие» в подразделе «Web-сервисы».
Обратите внимание: программа дает возможность формирования веб-сервисов, позволяющих работать в качестве:
- Потребителя веб сервисов, опубликованных другими поставщиками.
- Поставщика.
В версии «1С: Предприятие 8.3» свои WEB-сервисы можно включать даже в типовые конфигурации для обмена данными с другим софтом.
Поставщик WEB-сервисов
Веб-сервис поставщика – объект, используя который можно описать определенную функциональность прикладного решения. К примеру, составление перечня имеющейся на складе продукции, их стоимости и числа. После опубликования на сервере, информация будет открыта для других пользователей-потребителей.
В роли пользователей-потребителей могут выступать пользователи произвольных программных и аппаратных платформ.
Потребитель веб-сервисов
В этом случае речь идет о возможности указания ссылки на WEB-сервис, который опубликован сторонним поставщиком. После прикладное решение в собственных прикладных внутренних алгоритмах сможет работать с информацией, доступной от этого WEB-сервиса.
Как настроить веб-сервис в 1С?
В клиент-серверном и файловом варианте работы связь между потребителями WEB-сервера и прикладным решением, при условии, что последнее – поставщик веб-сервиса, станет выполняться через модуль расширения WEB-сервера. Модуль имеется в конфигурации и предлагает процессы, запускаемые при вызове определенных инструментов WEB-сервиса.
Если вариант работы – файловый или клиент-серверный, данный модуль будет выполняться в модуле расширения ВЕБ-сервиса или в кластере соответственно.
Если прикладное решение – потребитель WEB-сервиса стороннего поставщика, то клиентское приложение станет обеспечивать связь между поставщиками WEB-сервиса и прикладным решением, запуская определенные операции ВЕБ-сервиса и занимаясь обработкой поступающей информации.
Программа «1С: Предприятия» в качестве потребителя WEB-сервисов имеет поддержку оптимизированной отправки двоичных данных по MTOM-протоколу (режим в программе активируется автоматически).
Как создать веб-сервис в 1С?
Чтобы позволить сторонней программе использовать те или иные функции «1С», следует провести следующие операции:
- Перейти в конфигурацию, в соответствующей ветви дерева добавить объект веб-сервис;
- В модуле на встроенном в «1С» языке прописать каждую операцию, которую сможет исполнять наш функционал;
- Указать параметры функционала WEB-сервиса, учитывая имеющиеся виды XDTO-механизма;
- Опубликовать веб-сервис на сервере.
Программа поддерживает WS-I BP, SSL/TLS, HTTP, WSDL и SOAP стандарты.
Как происходит обмен данными между ИБ?
Используя веб-сервисы, можно с удобством выгружать и загружать сведения из одной информационной базы в другую. Для этого потребуется установка iis или Apache. Пример обмена:
- В удаленной базе создаем веб-сервис с определенным названием;
- В разделе «Прочее» заполняем параметры WEB-сервиса:
- Для идентификации веб-сервиса по комбинации имени и пространству имен нужно прописать «URL Пространства имен».
- XDTO-пакеты – инструмент для обмена информацией между различными системами с помощью XML. Используя его, на уровне языка ПО «1С» можно работать со стандартными встроенными типами (СправочникСсылка, ТаблицаЗначений и т.д.) и прикладными понятиями (Счет, Сотрудник и т.д.). Можно выбрать встроенные пакеты «1С» (например, содержащий формат «Двоичные данные» для передачи через базу данных любых типов), а можно сформировать собственные XDTO-пакеты.
- Имя файла публикации – наименование файла *.1CWS. Наименование – свободное. Однако лучше использовать латиницу и (обязательное условие) 1cws расширение. Также рекомендуется, чтобы имя каталога на веб-сервере и имя файлы публикации совпадали.
После этого останется лишь добавить операции в веб-сервис для выгрузки и загрузки информации. Руководство к действию:
- Сформируем операцию, например, с типом значения «ХранилищеДанных» и наименованием «ОстаткиПродукцииНаСкладах»;
- Пропишем параметры для процедуры (можно указывать столько, сколько требуется, например, добавить Предприятие или Поставщика). К примеру:
- Склад – с типом Строка.
- ОкончаниеПериода – с типом Дата;
- НачалоПериода – с типом Дата.
- Прописываем программный код для операции «ОстаткиПродукцииНаСкладах». В свойствах операции кликаем на строку «ИмяПроцедуры» и выбираем модуль веб-сервиса. Нужные сведения будут предоставлены запросом;
- Опубликовываем WEB-сервис. Теперь сторонняя база, создав внешнюю оболочку и прописав соответствующий код, может подключиться к нему.
Подключенная база сможет получать данные об остатках за выбранный период по конкретному складу.
Отладка веб сервиса в 1С
В программе «1С» есть инструменты для отладки в качестве получателя и поставщика веб-сервисов.
Отладка как получателя
В режиме «Предприятие» запускаем «ПолучательWS» при запущенном конфигураторе «ПоставщикWS». Из раздела «Сотрудники через WS», расположенного в «Справочники» открываем обработку.
В открывшемся окне указываем в графе «Строка для поиска по ФИО» данные для поиска (графу можно и не заполнять). Кликаем на строку «Получить список сотрудников». Система переходит в «ПоставщикWS» конфигурацию модуля веб-сервиса для отладки.
Отладка как поставщика
Активируем конфигуратор для «Поставщика». Опубликовываем веб-сервис «Сотрудники» - в его модуле в коде ставим точку остановки.
Переходим в раздел «Сервис-Параметры». В подразделе «Устанавливать режим разрешения отладки», расположенном в меню «Запуск 1С: Предприятия» ставим галочку.
Для подключения объектов отладки переходим в раздел «Отладка-Подключение». В высветившемся диалоговом окошке кликаем на «Автоматическое подключение». В диалоге «Автоматическое подключение» ставим галочку «ВЕБ-сервисы». Нажимаем на «Ок».
Пример создания веб сервиса в 1С
В качестве примера веб-сервиса создадим функционал, позволяющий определять длину введенной строчки. ПО отправит в роли параметра запроса – строчку, а опция, предусмотренная «1С» - возвратит количество символов. К данному механизму сможет обращаться стороннее программное обеспечение (не весь софт может работать с кириллицей, поэтому в примере наименования предметов конфигурации станем прописывать на латинице).
Инструкция:
- Открываем конфигуратор. Ищем ветку дерева «веб-сервисы»;
- Называем и добавляем веб-сервис, например, «wa_LengthSring»;
- В разделе «Операции» добавляем новую функцию, предположим, «CalcLengthSring»;
- В свойства вносим вида обратного значения integer и int;
- Внутри операции формируем параметр InputSring с видом значения string.
После этого прописываем в модуле веб-сервиса действие «CalcLengthSring». С этой целью переходим в свойства сформированного функционала, кликаем на лупу (расположена у строки ввода «Имени процедуры» в правой части). Программа сама сформирует функционал в модуле нашего веб-сервиса и активируем для описания работы функции «CalcLengthSring». Как действие функции указываем – определение длинны введенной строчки.
Самый простой веб-сервис успешно создан. Сейчас нужно опубликовать его в общем доступе – чтобы другие информационные системы «1С» или стороннее программное обеспечение могло использовать его функцию.
Для публикации нового веб-сервиса и его функции у нас должен быть доступ к сайту. Прежде всего, проверяем название файла в свойствах сформированного модуля – «wa_LengthSring». Не забываем, что у него должно быть расширение «1cws».
Переходим к непосредственной публикации веб-сервиса на сервере (доступно в программах «1С» с версии 8.3):
- Открываем форму «Публикация на веб-сервере», расположенную в разделе «Администрирование» в конфигураторе;
- Ищем настройку веб-сервисов в открывшемся окошке.
Нам нужны следующие подразделы:
- Каталог. Выбирайте путь к парке с хранящимися сведениями ВЕБ-сервиса по настройке подключения. Работаем только с латиницей.
- ВЕБ-сервер. Здесь из установленных на компьютере выбираем сервер.
- Имя. Указываем папку на WEB-сервере, в которой станет находиться описание нового веб-сервиса. Обратите внимание: иногда серверы различают реестры (большие и маленькие символы).
- Признаки типа «Булево». Первый признак нужен, если требуется выполнить настройку доступа к конфигурации через веб-клиент. Для публикации WEB-сервиса «1С» нам нужна вторая отметка.
Теперь нужно проконтролировать, что у нашего веб-сервиса в первом столбике есть галочка, после – кликнуть на строку «Опубликовать».
В связи с относительной новизной инструмента, в программе может возникнуть ошибка типа «Сбой при проведении файловой операции». В такой ситуации следует повторно кликнуть на кнопку «Опубликовать». Ошибка будет устранена – система выдаст информацию об опубликовании нового ВЕБ-сервиса.
Если вы хотите убедиться, что ваш веб-сервис появился на сервере, нужно, воспользовавшись любым браузером, внести в адресную строку команду вида:
<НаименованиеСервера>.ru/<НаименованиеУказанногоНаСервереКаталога>/ws/<НазваниеФайла>.1cws?wsdl
В результате адресного запроса браузер должен показать структуру XML-файла. Если вместо нее появились непонятные символы (проблемы кодировки), ошибка или пустая страница, повторно перепроверьте каждое действие. Кроме того, убедитесь в наличии доступа и правильной настройке веб-сервера.
Остались вопросы? Закажите консультацию наших специалистов!