1С создание веб сервиса

Печать (Ctrl+P)

Web-сервисы

Механизм Web-сервисов позволяет использовать «1С:Предприятие» как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать «1С:Предприятие» с другими промышленными системами использованием сервисно-ориентированной архитектуры.

Добавление Web-сервиса

Для того чтобы добавить Web-сервис в дерево конфигурации, следует выделить ветку Общие – Web-сервисы и выполнить команду контекстного меню Добавить.
В результате выполнения команды будет открыто окно редактирования Web-сервиса .
На закладке Прочее окна редактирования Web-сервиса следует установить следующие параметры:
● URI пространства имен – содержит URI пространства имен Web-сервиса. Каждый Web-сервис может быть однозначно идентифицирован по своему имени и URI пространству имен, которому он принадлежит.
● Пакеты XDTO – перечень пакетов XDTO, типы которых могут использоваться в качестве типов возвращаемого значения операций и типов параметров операций Web-сервиса.
● Имя файла публикаций – имя файла описания Web-сервиса, который расположен на веб-сервере .
Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом: <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Имя Web-сервиса> или <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Адрес Web-сервиса>.
Так, если виртуальный каталог имеет имя DemoWS, имя Web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS, а в качестве адреса указано DemoWorkWS, то обращение к Web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины):
http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS.
Кроме этого, на закладке содержится кнопка Модуль, которая позволяет открыть для редактирования модуль Web-сервиса.

Иерархическая структура Web-сервиса

Каждый Web-сервис, описываемый в дереве конфигурации, может содержать набор операций. Каждой операции должна соответствовать экспортируемая процедура, описанная в модуле Web-сервиса.

Описание Web-сервиса

В свою очередь, каждая операция может содержать набор параметров, имена которых должны соответствовать именам параметров процедуры, описывающей данную операцию.

Операции Web-сервиса

На закладке Операции выполняется добавление операции Web-сервиса. Редактирование свойств операции выполняется в палитре свойств.

Свойства операции Web-сервиса

Тип возвращаемого значения – тип значения, которое возвращает операция Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO.
Возможно пустое значение – показывает, может ли возвращаемое значение принимать неопределенное значение.
В транзакции – показывает, будет ли выполняться код модуля Web-сервиса в транзакции или нет. Если свойство установлено, то при вызове Web-сервиса автоматически будет начата транзакция, а при завершении транзакция будет либо зафиксирована, либо произойдет откат транзакции (в зависимости от результатов выполнения). Если свойство не установлено, при начале исполнения модуля Web-сервиса транзакция начата не будет.
Имя процелуры – имя экспортной процедуры модуля Web-сервиса, которая будет выполнена при вызове данного свойства.
Режим управления блокировкой данных – указывает, какие блокировки будут использовать при доступе к данным.

Параметры операции

На закладке Операции для указанной операции нужно осуществить задание параметров операции Web-сервиса. Редактирование свойств параметра
выполняется в палитре свойств.

Свойства параметра операции

Тип значения – тип значения параметра операции Web-сервиса. Может являться типом значения XDTO или типом объекта XDTO.
Возможно пустое значение – показывает, может ли значение параметра операции принимать неопределенное значение.
Направление передачи – определяет направление передачи данных с помощью данного параметра. Возможные значения:
● Входной – означает, что параметр может использоваться только для передачи данных Web-сервису.
● Выходной – означает, что параметр может использоваться только для получения данных от Web-сервиса.
● Входной – Выходной – означает, что параметр может использоваться как для передачи данных, так и для их получения от Web-сервиса.

Указание типов, определяемых системой

Чтобы в Web-сервисе воспользоваться типами, определяемыми системой 1С:Предприятие» (например, в параметрах и возвращаемом значении операций), нужно в конфигурации определить пакеты XDTO и для каждого пакета указать в его списке импортируемых пакетов (свойство Директивы импорта) набор пакетов платформы, в которые эти типы входят. URI пространства имен для указания типа содержится в статье синтакс-помощника по объекту данного типа.

Публикация Web-сервисов

Задача публикации сводится к размещению файла публикации в соответствующем каталоге. Для того, чтобы выполнить публикацию, следует выполнить команду меню «Администрирование – Публикация на веб-сервере…».

В результате выполнения этой команды будет открыто окно, в котором осуществляется публикация информационной базы на локальном компьютере.

Внимание! Выполнение операции требует наличия прав администратора (для ОС Windows) или прав суперпользователя (для ОС Linux) на компьютере, на котором выполняется публикация

Основные настройки публикации

На закладке «Основные” отображаются данные, необходимые для выполнения публикации.

Если публикация ранее не выполнялась, то значения полей (настройки) заполняется значениями по умолчанию (наименование выбирается из наименования информационной базы). Если требуется, измените эти настройки.
Если публикация уже выполнялась, то настройки выбираются по ранее указанным.
Если системой при открытии диалога с текущими настройками найдена публикация, но ее данные отличаются от данных настроек – выдается запрос на замену настроек.
Если публикация по настройкам не найдена, выдается предупреждение.

Выберите веб-сервер и укажите каталог, в который будет записан файл публикации.
Список веб-серверов формируется автоматически на основании установленных веб-серверов.

Имя публикации должно соответствовать правилам URL (стандарт RFC 1738).
Если выбран веб-сервер Apache 2.2 или Apache 2.4, то для имени каталога следует использовать US ASCII символы.

Примечание. При использовании веб-сервера Apache в диалоге настройки доступны для выбора обе версии веб-сервера. Следует учитывать, что настройки публикации для Apache 2.2 и Apache 2.4 несовместимы между собой. Поэтому необходимо правильно выбрать версию веб-сервера в диалоге.

Укажите необходимость публикации тонкого клиента и веб-клиента, а также Web- и HTTP-сервисов.

Если флажок «Публиковать стандартный интерфейс ODATA” установлен, будет опубликован сервис ODATA, который позволяет считывать и изменять данные информационной базы с помощью HTTP-запросов.

На закладке «Web-сервисы” установите флажок «Публиковать Web-сервисы” и в таблице сформируйте список путем установки проставления флажков для тех Web-сервисов, которые нужно опубликовать.

Если флажок «Публиковать Web-сервисы по умолчанию” установлен, то при обновлении публикации выбранные web-сервисы будут опубликованы автоматически. В противном случае, web-сервисы будут отмечены как не публикуемые.

Если флажок «Публиковать Web-сервисы расширений по умолчанию” установлен, то при обновлении публикации web-сервисы, добавленные расширениями, будут опубликованы автоматически.

Сегодня WEB сервисы используются практически повсеместно – именно они предоставляют нам информацию о рейсах самолетов и поездов, курсах валют и погоде. Неудивительно, что и 1С обладает возможностью создания собственных WEB сервисов, позволяющих выступать как в роли поставщика, так и потребителя. Данный механизм встроен в платформу «1С:Предприятие 8.3» и разработчики могут добавлять даже в типовую конфигурацию собственные объекты типа «WEB-сервисы». Их архитектура построена на наборе сервисов, позволяющих обмениваться информацией с другим программным обеспечением.

Создание веб-сервиса 1С

Одним из главных преимуществ WEB-сервисов 1С является отсутствие необходимости давать прямой доступ к данным ИБ. Правильно настроенный веб-сервис 1С позволяет другим приложениям пользоваться функциями извне. В таких случаях определять право пользования данными по заданным параметрам должна сама функция по прописанным разработчиком правилам.

Как создавать веб-сервис в 1С?

Чтобы определенная функция системы 1С стала доступна внешнему ПО, необходимо выполнить следующий алгоритм действий:

  1. Зайти в конфигурацию и в определенной ветке дерева добавить объект WEB-сервис;
  2. Описать все операции, которые сможет выполнять наш функционал. Описание функций производиться в модуле на встроенном в 1С языке;
  3. Добавить описание параметров функций веб-сервиса. Учтите, что типы данных описываются с учетом существующих типов механизма XDTO, появившегося в платформе версии 8.1;
  4. Опубликовать созданный WEB-сервис на сервере. Механизм, встроенный в платформу 1С, поддерживает следующие стандарты:
  • SOAP
  • WSDL
  • HTTP
  • SSL/TLS
  • WS-I BP

Пример создания простого WEB-сервиса

Чтобы наиболее наглядно продемонстрировать работу механизма WEB-сервисов, создадим пример – функционал, определяющий длину введенной строки. Программное обеспечение передаст в качестве параметра запроса строку, а функция, описанная в 1С, вернет число символов. При создании нужно помнить, что публикация этого механизма даст возможность обращения к нему различного ПО. Так как не каждое ПО способно воспринимать кириллицу, будем называть объекты конфигурации, используя латинские знаки.

Открываем конфигуратор, находим в дереве ветку «WEB-сервисы» и добавляем новый сервис «wa_LengthString». Также необходимо на вкладке «Операции» добавить новую операцию. Назовем ее «CalcLengthString», в свойствах укажем тип возвращаемого значения – int или integer и создадим внутри нее параметр «InputString». Тип значения оставляем string.

Рис.1 Работа в конфигураторе

Теперь необходимо прописать действие функции CalcLengthString в модуле WEB-сервиса. Для этого открываем свойства созданной функции и нажимаем кнопку в виде лупы справа, у поля ввода «Имя процедуры». 1С автоматически создаст функцию в модуле нашего WEB-сервиса и откроет его для того, чтобы мы описали действие CalcLengthString. Воспользуемся этим и напишем действие функции – определение длины вводимой строки.

Рис.2 Действие функции CalcLengthString

Фактически на этом создание простейшего WEB-сервиса закончено. Теперь необходимо «выложить» этот сервис в общий доступ, чтобы стороннее ПО или другие системы 1С могли пользоваться данным функционалом.

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

Для того чтобы мы смогли опубликовать созданный веб-сервис с его функциональностью, нам необходимо иметь доступ на сайт. Перед тем как мы начнем публикацию сервиса, необходимо проверить имя файла в свойствах созданного модуля wa_LengthString. Оно должно быть понятное, простое и иметь расширение «1cws».

Рис.3 Публикация веб-сервиса

Теперь настало время публиковать созданный нами WEB-сервис на сервере. Эта возможность появилась в версии платформы 8.3 и многие компании уже поняли всю пользу этого функционала. Для того чтобы приступить к публикации, необходимо в конфигураторе открыть форму «Администрирование/Публикация на веб-сервере…».

Рис.4 Опубликовать созданный нами WEB-сервис

В открывшемся окне нам необходима настройка Web сервисов 1С и заполнение определенных полей:

  • Имя. Обозначает папку на веб-сервере, в которой будет храниться описание нашего веб-сервиса. Будьте внимательны к регистрам, так как иногда серверы различают символы большого и малого регистра;
  • Веб-сервер. Необходимо выбрать сервер из установленных на компьютере;
  • Каталог. Вы должны выбрать путь к папке, где хранятся данные веб-сервера по настройке подключения. Используются исключительно латинские буквы;
  • Два признака типа «Булево». Первый нам пригодиться, если необходимо настроить доступ через веб-клиент к конфигурации. Для того чтобы опубликовать сервис 1С, необходимо поставить вторую отметку.

Остается лишь проверить, что у нужного WEB-сервиса установлена галка в первом столбце, и нажать на «Опубликовать».

Рис.5 Опубликовать

Так как данный механизм еще достаточно новый, то вы можете столкнуться с ошибкой вида «Ошибка при выполнении файловой операции…». В этом случае вам нужно просто повторить нажатие «Опубликовать». В большинстве случаев это помогает, и вам покажется сообщение о том, что публикация веб-сервиса выполнена.

Проверить, опубликован ли ваш WEB-сервис на сервере, достаточно просто. Необходимо открыть любой браузер и в адресную строку вбить строчку типа:

.ru//ws/.1cws?wsdl

В ответ на такой запрос адреса браузер должен отобразить структуру файла XML. Если же вы видите пустую страницу, ошибку или непонятные символы (проблемы с кодировкой), то нужно еще раз проверить все действия. Также не лишним будет убедиться, что сервер настроен верно, и у вас есть к нему доступ. После успешной публикации WEB-сервис 1С смогут использовать сторонние приложения.

1С создание веб сервиса

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *