Фирма 1С Система программ Решения Платформа Методическая поддержка Партнерам Другие сайты
.
 
 
Технологическая платформа
 
Стандартные библиотеки
Система проектирования прикладных решений
Работа в облаке (1cFresh)
Мобильные решения
 
1С:Управление холдингом 8
 
1С:ERP Управление предприятием 2
 
1С:Бухгалтерия
 
1С:Упрощенка
 
1С:Предприниматель 2015
 
1С:Управление небольшой фирмой
 
1С:Управление
торговлей
 
1С:Зарплата и Управление
Персоналом
 
1С:Комплексная автоматизация 2
 
1С:Управление производственным предприятием
 
1С:Консолидация
 
1С:Платежные документы
 
1С:Налогоплательщик
 
1С:Розница
 
1С:Отчетность предпринимателя
 
1С:Документооборот
 
1С:Договорчики
 
1С:Деньги
 
1С:Бухгалтерия государственного учреждения
 
1C:Зарплата и кадры государственного учреждения
 
1С:Вещевое довольствие
 
1С:Бюджет муниципального образования
 
1С:Бюджет поселения
 
1С:Документооборот государственного учреждения
 
1С:Бюджетная отчетность
 
1С:Свод отчетов
 
1С:Государственные и муниципальные закупки
 
1С:Электронное обучение
 
1С:Управляющий
Локализованные решения
Отраслевые и специализированные решения
Внедренные решения
Самые масштабные проекты
Центры корпоративной технологической поддержки

Интеграция

Как купить и внедрить?
Центры разработки

Центры компетенции по производству

Центры компетенции по торговле
Партнеры, работающие на корпоративном рынке
Новости и публикации
Обучение
Интернет-поддержка
Версия для печати Поиск Главная Заметки из Зазеркалья

30.12.2013 HTTP-сервисы в прикладном решении

Реализовано в версии 8.3.5.1068.

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

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

По сравнению с имеющимися в платформе SOAP web-сервисами, HTTP-сервисы имеют ряд преимуществ:

  • Простота программирования клиента таких сервисов;
  • Потенциально меньший объем передаваемых данных;
  • Потенциально меньшая вычислительная нагрузка;
  • HTTP-сервисы ориентированы на «ресурсы», в то время как SOAP сервисы ориентированы на «действия».

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

Вы можете использовать HTTP-сервисы как «легкие» RPC-сервисы, не требующие сложной подготовки XML-пакетов. Методы могут идентифицироваться в URL, а параметры могут передаваться в опциях запроса, или в его теле. В последнем случае такие сервисы уже вплотную приближаются как SOAP, проигрывая ему в четкости спецификации, но выигрывая в гибкости.

По своему «конструктивному исполнению» HTTP-сервисы очень напоминают web-сервисы, имеющиеся в платформе. Точно так же есть специальный объект конфигурации HTTP сервис. Такие объекты добавляются в ветку Общие - HTTP-сервисы:

Каждый HTTP-сервис может содержать в себе один или несколько шаблонов. Для каждого шаблона вы можете создать один или несколько методов, выполняющих обработку данных:

Шаблон задаёт путь, по которому может происходить обращение к HTTP-сервису. В шаблоне вы можете использовать определённый набор символов, в том числе параметризованные сегменты вида {какой-то текст}.

Для каждого метода вы указываете, во-первых, обрабатываемый HTTP метод, а также создаёте процедуру на встроенном языке, которая и будет выполнять обработку данных. В качестве HTTP метода вы можете выбрать один из следующих: GET, POST, PUT, DELETE, PATCH, MERGE, CONNECT, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK. Или указать Любой. В этом случае можно будет использовать любой метод из приведённого списка.

При обращении к такому HTTP-сервису платформа сначала попытается сопоставить URL, по которому произошло обращение, с одним из имеющихся шаблонов и методов. Если сопоставить не удалось, то платформа выдаст код ответ 404 Not Found. Если подходящий метод будет найден, то платформа начнёт выполнение его обработчика, передав в него все имеющиеся в запросе данные в виде объекта встроенного языка HTTPСервисЗапрос:

Из этого объекта вы можете легко получить, например, параметры, содержащиеся в исходном URL, и использовать их для извлечения из базы нужных данных.

Полученные данные вы можете вернуть в разных форматах. Например, их можно преобразовать в XML, как на картинке выше, или даже просто в текстовую строку с разделителями.

Ответ сервиса формируется специальным объектом встроенного языка HTTPСервисОтвет, в тело которого вы можете поместить подготовленные данные.

Публикация HTTP-сервисов выполняется аналогично тому, как публикуются web-сервисы. Также аналогичным образом для них работает аутентификация, использование разделения данных и отладка.