Содержание:
3. Практическая работа с веб-сервисом
1. Протокол Soap
Коллеги, в данной статье будет рассмотрено взаимодействие и обмен между 1С и Soap. Мы подробно пройдемся по главным вопросам касательно данного протокола: что такое Soap, как с ним взаимодействовать, в том числе при работе с CMS 1С-Битрикс. Также предоставим практический пример настройки обмена 1С с протоколом Soap.
Soap (с английского – Simple Object Access Protocol – доступ к объектам при помощи простого протокола) – это некий простой протокол, предназначенный для обмена сообщениями внутри вычислительной среды. Изначально Soap был создан, чтобы удалённо вызывать процедуры, но сейчас он осуществляет обмен любыми сообщениями с форматом xml. По сути данный протокол лишь расширение XML-RPS. Также, стоит отметить, что сейчас Soap стал стандартом для базирования технологий веб-служб.
Далее будет рассмотрен обмен между 1С и Soap. Способ базируется на механизме файлов, то есть главном механизме любой ОС. Стоит отметить, что преимущество этого способа состоит в том, что источник внутри системы не владеет информацией о потребительских системах. Таким образом файл формируется и вкладывается в каталог с файлами, внутри которого остальные действующие участники могут брать данные из нашего файла. Но у данного способа есть недостатки: устаревшая информация, медленное обновление и невозможность точно отследить путь данных.
2. Работа с CMS 1С-Битрикс
В CMS 1С-Битрикс:Управление сайтом обычно совершается обмен информацией с 1С по стандарту, который является файловым обменом, но не имеет отношения к режиму реального времени, что неудобно.
Работа веб-сервисов – это воплощение точного интерфейса по обмену данными среди приложений (а они могут распределяться в разных углах внутри сети). Именно эта идея и стала отправным пунктом для развития SOA, архитектуры внутри приложения, ориентировка у которой идёт на сервис. Определим достоинства работы с веб-сервисами:
1. организация обменов в режиме «онлайн»;
2. у двух баз (отправляющей и принимающей) есть возможность работать на разных версиях платформы;
3. быстрая передача информации;
На сегодняшний день Протокол Soap является одним из наиболее востребованных. Чтобы провести реализацию веб-сервиса по протоколу Soap, нужно воспользоваться пакетом PHP, который является встроенным.
3. Практическая работа с веб-сервисом
Рассмотрим реальный пример: есть клиент, который просит разработать портал для сервиса бытовой техники и интегрировать его с 1С. Также пусть будет условие, что пользователи могут уточнять требования по сервису, и оно должно сразу «перенестись» в 1С. Пользователи могут узнавать все требования и документацию по сервису, основная база данных – это 1С. Также пусть ещё можно будет фильтровать записи, согласно названию, дате, серии и так далее.
В данной ситуации самый качественный обмен будет совершён по протоколу Soap. Настройки веб-сервиса проходят как обычно. Задача темы – подключиться к сервису в виде пользователя, и всё это реализуется при помощи пакета PHP SoapClient, для чего используем документ WSDL.
Чтобы всё работало корректно, нужно внутри файла php.ini задать специальные параметры, как на примере кода на скриншоте ниже. При помощи данных параметров происходит подключение пользователя для работы с Soap внутри файла init.php
Рис. 1 Параметры для подключения пользователя для работы с Soap
Далее в 1С нужно написать методы, которые будут использованы для отображения и получения данных онлайн.
На изображении далее приведена форма, в которой производится ввод данных, а далее кликом по кнопке «Зайти» будет запрошен результат.
Рис. 2 Форма ввода данных для работы с Soap
Так как в 1С был создан метод get_search_nomenclature_for_name($param), то на сервере можно увидеть всю нужную документацию для продукции в настоящем времени, которая хранится внутри базы 1С. На скриншоте ниже можно увидеть данный код, позволяющий получать все данные:
Рис. 3 Код для получения данных о продукции в 1С с Soap
После этого на сайте пользователь сможет видеть все необходимые данные по его запросу.
Специалист компании «Кодерлайн»
Айдар Фархутдинов