Web сервисы 1С


Обмен данными обычно организовывается с помощью выгрузки файла из одной программы и загрузки в другую. Некоторые программисты предоставляют сторонним программам доступ в SQL базу 1С (что вроде как сильно не рекомендуется).

Термин «обмен данными» не всегда подходит к задаче, иногда более корректно сказать – предоставление данных. Например, внешней программе требуется идентифицировать – существует ли такой клиент в 1С и его баланс.

Предоставление доступа к данным 1С – некорректно по причинам безопасности данных. Необходим скорее механизм проверки по имени и паролю с дальнейшим возвратом баланса.

Этот подход называют – сервисным, когда программа предоставляет не данные, а сервис, который позволяет идентифицировать клиента и узнать его баланс.

Как это работает?

 

Веб сервисы

SOA – «сервис ориентированная архитектура» – означает, что программы для обмена данными друг с другом используют «сервисы».

Веб сервис – это набор функций (процедур), которые могут быть вызваны извне программы и базы данных.

Для того, чтобы другая программа знала, что такой «сервис» есть у этой программы, первая на веб сайте выкладывает сведения о своих сервисах. Формат такого описания – файл WSDL.

Функции извне вызываются (запускаются) запросом по протоколу SOAP.

Для передачи параметров и результатов используется XML. Для работы с веб-сервисами Вы должны иметь базовое понимание про XML и XDTO.

 

Web сервисы 1С

Web сервис 1С это способ, с помощью которого можно разрешить запускать некоторые функции 1С снаружи базы 1С, в том числе из других программ или других баз 1С.

Это лучше, чем предоставление прямого доступа к данным 1С, так как при вызове метода (функции) web сервиса 1С, доступ к данным внешняя программа не имеет. Функция на языке 1С самостоятельно определяет право внешней программы получить конкретную толику данных по переданным параметрам (например, имени и паролю).

Web сервис 1С это объект 1С, который находится в конфигурации, в ветке Общие/Web-сервисы.

Так как функционирует web сервис 1С с помощью XML пространство имен и пакет XDTO. XDTO пакеты 1С мы обсуждали ранее.

Во многих случаях, можно не создавать свой пакет XDTO, а использовать по умолчанию – выбрав из списка пакет www.sample-package.org

 

Методы web сервиса 1С

После этого нужно добавить список функций (методов веб сервиса 1С) – которые будут предоставляться наружу. Называть их лучше англоязычно. Функция может иметь параметры.

Базовые типы к использованию:

  • string – строка
  • int или integer – целое число
  • real – дробное число
  • date – дата.

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

Именно эта функция 1С будет выполняться при вызове метода веб сервиса 1С. Не забывайте, что выполняться она будет на сервере 1С. Файловый режим работы 1С с веб-сервисами не рекомендуется.

Функция обычно возвращает какие-либо данные. Обычно указывают тип string и возвращают строку XML.

Строку XML можно сформировать с помощью объектов языка 1С для работы с XML – ДокументDOM и ФабрикаXDTO, а можно просто составить текстовую строку, в которой хранится текст XML.

 

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

Как мы говорили раньше, другие программы должны «знать», что веб сервис 1С существует, имеет такой вот список методов и так далее.

Описание должно лежать на веб сайте. Для этого нужно:

  • Иметь веб сайт
  • В свойствах web сервиса 1С указать имя файла с расширением 1cws, который является ссылкой на WSDL описание
  • Выложить этот файл на веб сайт в конфигураторе с помощью пункта меню Администрирование/Публикация на веб-сервере.

Далее нужно проверить доступность и корректность файла. Для этого зайдите в Internet Explorer по адресу
http://www.ИмяСайта.ru/ПутьНаСайте/ИмяФайла.1cws?wsdl

Браузер должен отобразить некий файл XML (пример файла WSDL здесь http://ru.wikipedia.org/wiki/WSDL), а не ошибку, не пустую страницу и не невнятный текст на любой кодировке.

После успешной публикации web сервис 1С можно использовать. Для этого в другой программе нужно использовать данный интернет адрес для ссылок на веб сервис 1С.

Например, Visual Studio позволяет для любого языка (C++, C#, Visual Basic) – включить в проект web сервис 1С по его WSDL описанию и сгенерировать класс для использования веб-сервиса 1С.

Использования веб-сервиса 1С из другой 1С читайте далее.

 


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (29 голосов, среднее: 4,34 из 5)
Загрузка...

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