Приветствую Вас, Гость · RSS Суббота, 12.07.2025, 21:53








Главная » 2014 » Январь » 2 » Веб-сервис на C# для 1С:Предприятие 8.x. Отправка СМС
00:16
 

Веб-сервис на C# для 1С:Предприятие 8.x. Отправка СМС

Предисловие

На сегодняшний день существует достаточно много примеров практического применения веб-сервисов, которые позволяют интегрировать между собой абсолютно разные приложения и службы. Ранее в статье "Поддержка COM-соединения. Часть №2" мы использовали созданный нами веб-сервис на C# для поддержки COM-соединения между информационными базами 1С:Предприятия 8. Сегодня мы более подробно рассмотрим процесс создания собственного веб-сервиса на C#. Начнем с установки и настройки сервера IIS, затем перейдем непосредственно к созданию веб-службы в среде Visual Web Developer Express на C#. В завершении напишем программный код для использования созданной веб-службу в платформе 1С:Предприятие.

Создаваемый веб-сервис будет выполнить отправку SMS-сообщений. Ему будут отправляться в качестве параметров номер мобильного телефона и текст сообщений. Вызываемый метод веб-сервиса вернет результат выполнения команды.

Устанавливаем и настраиваем IIS

Для тестирования и дальнейшей работы создаваемого веб-сервиса будем использовать Internet Information Services (IIS), поскольку он доступен для установки в дистрибутиве Windows. В нашем случае IIS 7.5 для Windows 7.

Наглядная инструкция по установке IIS с последующей настройкой для разработки веб-сервиса на основе ASP.NET приведена на следующем видео.

Общая последовательность действий такая:

  1. Добавляем компоненты Windows в разделе "Службы IIS".
  2. Устанавливаем поддержку ASP.NET для IIS.
  3. Запускаем регистрацию ASP.NET для веб-сервера через приложение "aspnet_regiis" с параметром "-r".

Проделанные действия позволяют отлаживать веб-сервис на локальной машине и тестировать его из платформы 1С:Предприятие.

Создаем веб-сервис на C#

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


Веб-сервис будет иметь единственный метод с четырьмя параметрами. Через параметры будут передаваться:

  1. Логин пользователя "SMSfeedback".
  2. Пароль пользователя "SMSfeedback".
  3. Номер мобильного телефона.
  4. Текст сообщения.
Функция метода "SendSMS" выполняется GET-запрос к веб-ресурсу "api.smsfeedback.ru". Подробнее о его API Вы можете прочитать здесь. В соответствии с заданными параметрами будет выполнена отправка SMS-сообщения. Об условиях пользования данным сервисом подробно написано здесь. Весь ход создания веб-сервиса в среде "Visual Web Developer Express" продемонстрирован на следующем видео. Отметим лишь важные моменты:
  • В компоненте веб-службы создается публичный веб-метод для отправки соответствующего GET-запроса для "SMSFeedBack".
  • Метод веб-службы "SendSMS" принимает четыре параметра типа "строка" о которых было написано выше.
  • Работа созданного ASP.NET приложения развернута на IIS.

Перейдем к вопросу использования созданного веб-сервиса на платформе 1С:Предприятие 8.x.

Используем веб-сервис из 1С:Предприятия

Прежде чем перейти к работающему решению, рассмотрим непонятное поведение платформы при использовании объекта конфигурации "WSСсылка". Как известно, этот объект используется для сохранения структуры веб-сервиса и его повторного использования в алгоритмах конфигурации. Но при попытке использовать его для созданного нами выше веб-сервиса, столкнулся с проблемами, которые не удалось решить. Обо всем по порядку.

В тестовую конфигурацию добавлен объект WS-ссылка с именем "SendSMS'. Объект имеет следующее WSDL-описание:

Как мы видим, платформа верно распознала описание созданного веб-сервиса, в т.ч. его метод "SendSMS" с параметрами. Для использования WS-ссылки написан следующий программный код:
Однако при вызове метода SendSMS с переданными параметрами возникает ошибка "Недостаточно фактических параметров".

Мне не удалось решить данную проблему. Искал решение в интернете, но ни один найденный рецепт не помог. В итоге решил использовать для работы с веб-сервисом POST-запрос. Если кто-нибудь из читающих пост знает как правильно в текущей ситуации выполнить обращение к веб-сервису, прошу подсказать.

Для формирования POST-запроса в конфигурации 1С:Предприятие используем следующий алгоритм:

При выполнении команды отправки сообщения мы увидим такой результат (см. след. скриншот).


На скриншоте продемонстрирована успешная попытка отправки сообщения. В текстовое поле выведена строка, которую вернул на сервис "SMSFeedBack".

Выводы

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

Таким образом, создание веб-служб как сторонними средствами, так и возможностями самой платформы, позволяют вывести ее возможности на новый уровень.

Просмотров: 2054 | Добавил: washou | Рейтинг: 0.0/0
Всего комментариев: 0
Конструктор сайтовuCoz
Copyright MyCorp © 2025