Перейти к содержимому

Как проверить http сервис в 1с

  • автор:

АйТиБложик

Самый простой способ тестирования http-сервиса, это воспользоваться готовым бесплатным программным продуктом, который создан именно для таких целей. Я предпочитаю пользоваться программой SoapUI.

Запускаем SoapUI, создаем новый REST проект File -> New REST Project. В открывшемся окне вводим URI http-ресурса (см. рисунок 1), который собран по шаблону:
http://<доменное имя>/<имя публикации>/hs/<шаблон URL>?<параметры>.

Рисунок 1. Создание нового REST проекта

В моем случае получился такой URI:
http://192.168.0.32/httpdemo/hs/balance/nomenclature/ .

Как вы заметили, URI содержит параметр, который заключен в фигурные скобки. SoapUI поддерживает параметры в URI точно так же, как 1С их поддерживает в шаблоне URL, что очень удобно. После нажатия на кнопку ОК в списке проектов отобразится иерархический список объектов добавленного проекта (см. рисунок 2): сервис -> ресурс -> метод -> запрос.

Рисунок 2. иерархия объектов REST проекта в SoapUI

Открываем окно запроса двойным кликом по объекту Request 1, обычно это окно открывается сразу после создания проекта. В открывшемся окне устанавливаем http-метод в значение POST, для параметра ресурса version вводим значение v1. Выбираем значение application/json в поле Media Type. Предварительный результат настройки должен выглядеть как на рисунке 3.

Рисунок 3. Предварительная настройка запроса

Жмем на кнопку Auth, которая находится в самом низу, выбираем авторизацию Basic, вводим логин и пароль пользователя (см. рисунок 4). Внимание, пользователь должен иметь достаточно прав для работы http-сервиса, иначе вылетим в ошибку доступа.

Рисунок 4. Настройка авторизации

Рядом жмем на кнопку Headers, добавляем новую строку, вводим имя нашего http-заголовка Client-Name-1C и его значение, например ooo roga i kopyta (см. рисунок 5).

Рисунок 5. Добавление заголовка

Для удобства, переименовываем запрос, для этого выделяем запрос, вызываем контекстное меню и нажимаем на Rename (F2). В открытом диалоговом окне вводим новое имя «V1». В свойствах обязательно указываем кодировку UTF-8 в свойстве Encoding. Настроенный запрос смотри на рисунке 6.

Рисунок 6. Настройки запроса

В окне запроса вводим тело запроса, жмем на зеленый треугольник, если все хорошо, на закладке JSON будет ответ от сервера (см. рисунок 7).

Рисунок 7. Выполнение запроса на http-сервис версии 1

Так как тестируемый http-сервис поддерживает две версии запросов, то скопируем запрос, для этого выделяем его, вызываем контекстное меню и жмем Clone Request (F9). Для удобства задаем имя «V2» новому запросу. Открываем окно нового запроса, меняем значение параметра ресурса version на значение v2, вводим тело запроса и запускаем на выполнение (см. рисунок 8).

Рисунок 8. Выполнение запроса на http-сервис версии 2

Допустим, в теле самого запроса мы допустили ошибку, тогда ответ http-сервиса будет на закладке HTML в удобочитаемом виде (см. рисунок 9).

Рисунок 9. Ответ http-сервиса с содержанием ошибки в теле запроса

Отладка кода HTTP-сервиса аналогична отладке кода веб-сервиса (SOAP). Для включения отладки нужно:

  • Разрешить отладку при публикации на веб-сервере,
  • Включить автоматическое подключение к http-сервисам,
  • Установить точку останова в интересующем месте.

Подробную информацию по каждому пункту смотрите на сайте ИТС. После установки точки останова запускаем в SoapUI запрос на выполнение и пошагово производим отладку без каких-либо особенностей.

HTTP Services URL: обмен между базами 1с с помощью сервиса интерграции — создание и настройка

Бобков Олег

На платформе 1C начиная от версии 8.3.5 и выше появилась новая возможность создания сервисов с уникальными HTTP services URL. Подобные системы позволяют не только осуществлять штатные задачи, как отправку, прием и корректировку данных, но и обладают куда более глубокими возможностями. Например, формирование простых, но действенных клиентских приложений. Плюс, что примечательно, общая нагрузка на сам сервер снижается, благодаря уменьшению объема сведений, а также их оптимизации.

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

массив клиентов для отправки

Шаблон создания HTTP сервиса 1С

В первую очередь нам понадобится сам веб-сервер. Отличным вариантом считается Apache, подходящий версией от 2.2 и выше. Конкретнее про установку мы поговорим дальше в представленным обзоре, пока же по вводным факторам.

Для начала создаем сам serves. Вводим произвольное название, фактически роли это не играет.

HTTP

А вот сам URL – это куда более важная часть. Именно по этому адресу будет доступен корневой каталог, поэтому заранее определите корректное наименование.

Шаблоны URL и методы

Свойств у только что нами созданного URL немного, а именно одно – шаблон. Это запись, по которой будет доступен путь до serves.

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

Свойства шаблона

А вот у методов уже есть возможность присвоения множества свойств. Таких, как движение, удаление, блокирование, соединение, получение, путь и так далее.

При обращении к системе автоматически будет сопоставлен введенный адрес с имеющимся шаблоном. И если они соответствуют, то в ответ выдается выбранный вами метод. Если же соответствия не произошло, то ответная реакция от HTTP сервиса 1С будет 404, что является кодом ошибки.

Публикация и проверка

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

публикация на веб-сервере

Итак, если мы все сделали верно, то в случае этого примера, он будет доступен по адресу – localhost/HTTPTest/hs/Obmen/test-parametr/Test/GetInfo?param=value.

Разберем каждый сегмент этого пути:

  • Localhost – соответственно, сам адрес изначального сервера.
  • HTTPTest – как вы можете наблюдать из скрина, именно такой набор символов мы ввели в названии нашей тестовой публикации.
  • Hs – а вот это важнейшая часть. Это указатель, который дает понятие о том, что происходит именно обращение к 1С HTTP сервису.
  • Obmen – это название корневого каталога, который мы задавали ранее.
  • test-parametr – соответственно, указанный нами изначально метод определения, а точнее, его путь.
  • GetInfo – это уже наименование.
  • param=value – нестрогий вариант параметров.

При выполнении процедуры произойдет следующее.

get параметры

Здесь мы обратились к методу, получили соответствующий ответ. При этом для работы нам в любом случае понадобится авторизация. И решить возникшее затруднение в принципе несложно. Потребуется просто задать новый логин и пароль. А после авторизоваться по введенным опциям. Но есть и другая методика реализации этой функции, если обратиться к 1С HTTP сервис vrd. Мы напрямую можем изменить файл default, добавив в блокнот следующую запись – Usr=Логин; Pwd=Пароль. В результате надобности в авторизации как таковой не будет. И наша публикация будет доступна свободно.

Готовые решения для всех направлений

Склады

Ускорьте работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Магазины

Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

Маркировка

Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя

E-commerce

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Учреждения

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

Производство

Повысьте эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.

RFID

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

ЕГАИС

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

Сертификация

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Инвентаризация

Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

Отладка

Итак, чтобы в принципе была возможность корректировки, нам в изначальном файле нужно прописать некоторые параметры. А точнее – в режиме отладчика поставить опцию «Разрешена по IP/TCP». А также указать адрес сервера в соответствующем пункте.

прочие настройки

Далее зайдем в режим чуть глубже, выберем в настройках – автоматическое подключение. Перед нами раскроется новая вкладка, где мы определим исходные факторы. Галочку необходимо поставить лишь одну, напротив соответствующего типа авто-коннекта. Поскольку мы говорим про методы обмена данными через веб HTTP сервис 1С между базами, нам и понадобится эта настройка.

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

настройки

Fiddler2 Inspectors

Не будем путать эти дополнительные инструменты с теми, которые помогают внедрить саму платформу в текущую программную экосистему на предприятии. Они носят совершенно иное название. А именно – 1С сервисы интеграции, что это легко понять, представив помощника, который просто связывает всю текущую систему 1C, ее задачи и нужды и ПО. Получается, переносит все требования в настройки конфигуратора.

Помните, что, если у вас не выходит самостоятельно произвести все обозначенные действия, вы всегда можете обратиться к поставщику программного обеспечения. Да, не все из них готовы взять на себя подобного рода деятельность. Но, заказывая ПО у «Клеверенс», вы получаете:

  • полноценное внедрение систем;
  • адаптацию для различных предприятий;
  • по желанию полное техническое сопровождение;
  • отладку;
  • сервисы интеграции 1С.

Требование к инструментам

Теперь пойдем более подробно по всем возможностям. Чтобы у наших читателей не осталось вопросов. Раздел для тех, кто решил действовать самостоятельно. Первое, что понадобится, платформа/компьютер и доступ в интернет. Далее, как уже упоминалось, установленный сервер. И само программное обеспечение. И если первый пункт пояснений не требует, то с остальным давайте разбираться подробнее.

Веб-сервер Apache

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

Действия такие – открываем скаченный exe-шник, но обязательно производим запуск от имени администратора. Иначе часть функций останется недоступными, а значит, установка пройдет некорректным образом.

Начальные параметры скорее стоит оставить по умолчанию, в основном они выбраны правильно для новичков. Единственное «но» заключается в выборе дополнительных компонентов. Вот здесь настолько огромный массив нам точно не понадобится. Поэтому снимаем галочки с лишних окон.

Установка

Если все прошло удачно, суммы файлов совпали, то после завершения процедуры у нас автоматически активируется приложение XAMPP.

Установка ПО

Это правильно, но именно так оно будет отображаться, только если это ваша первая установка подобного программного обеспечения. Дело в том, что для подключения утилита занимает 80-ый порт. А значит, его не должны использовать другие программы. Если подобное случится, то вы получите совершенно иное сообщение. А выглядеть оно будет так.

Установка утилиты

Ничего страшного не случится даже в этом случае. Все, что нам нужно – это открыть конфигурации, чтобы внести некоторые корректировки. Для этого находим строчку Listen, и в ее числовом значении на конце после точки стираем написанное, вручную добавляем цифры 8080. Такие же манипуляции проводим и с именем сервера в том же раскрывшемся файле. Проблема решена.

Но осталась другая – нужно присвоить серверу свойство службы нашего Windows. Зачем это делать? Дело в том, что в противном случае параметры запроса к HTTP сервису 1С (httpсервисзапрос) будут не учитывать сам Apache. Соответственно, мы не сможем выбрать его в качестве источника публикации, после того как создадим наш проект.

Нам нужно найти установочный файл сервера с разрешением .bat. А после изменить в нем путь, дописав вот это – HTTPd.exe. Сохраните внесенные изменения. А теперь просто попробуйте его запустить, но опять же, обязательно от имени администратора. Вас должно ожидать подобное.

Код

Устанавливаем платформу

Чтобы использовать возможности ПО, нужно его установить, логично. И процедура еще легче, чем предыдущая. Также запускаем exe-шник, оставляем все настройки на своих местах. Только добавляем модули расширения.

Выборочная установка

Рекомендуется после установки здесь же запустить новую базу. Для отладки некоторых моментов. А именно, заходим в конфигурации и активируем режим модульного использования.

Пара слов о протоколе

Давайте уделим немного внимания самому HyperText Transfer Protocol. Копнем слегка в его структуру, чтобы понимать, с чем имеем дело. А ее схематично можно представить вот таким образом.

Название структурного элемента

Поясняется сам метод, с помощью которого будет происходить обмен информацией. Соответственно, это и версия, и сам URL

Короткое описание, которое обычно содержит ключевые по значению параметры

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

Как работает обмен данными

Немного поняв принципы самого протокола, переходим к тому, как обратиться к HTTP сервису 1C (1С:8), пример запроса выглядит так.

процедура скачать

Рассмотрим более подробно.

Запрос

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

Соединение

Функция для передачи информации по протоколу. Может использовать различные типы защиты, например, TLS 1.2. При этом снабжается мерами аутентификации, то есть, необходимо введение логина и пароля.

Для обработки используются различные методы, как получить, отправить, отказать и так далее. Допустимо построение некоторых форм, как вариант:

скачать или еще

Одним из распространенных способов является также 1C HTTP сервисы post-метода.

Далее мы рассмотрим, как происходит работа связки этих двух параметров на практике.

Создание соединения

Если рассматривать все на примере кода, то в самой первой строке нам нужно указать тип обмена данными, а также название нашего нового фрагмента. Допустим, «Закупка товаров» или любое иное, по вашему усмотрению.

Заголовок

Далее нам необходимо задать соответствие. В принципе, здесь есть только два основополагающих параметра. Первый – accept. Команда предназначена для определения типа сведений, а также файлов, которые будут приняты на сервере. Это картинки в обозначенных форматах, видеофайлы, текстовые и так далее.

Второй – user-agent. Это наименование инструмента, с помощью которого мы и осуществляем коннект.

Создаем запрос

Теперь по аналогии мы и запрашиваем исполнение файла. Сама форма состоит из двух частей. Первая — включает в себя путь до этого объекта, а вторая – ее тип соответствия. Если это изображение в .jpg, то так и прописывается. Для понимания – /wp-content/uploads/2021/11/sait.ru-logo-200wide-65high-2021-12-04-v12.png, примерно так будет выглядеть наш запрос.

Отправка

Для передачи нам понадобится лишь указать наименование объекта. Правда, полностью и с точностью. А также присвоить параметр получения, звучит он в программе, как Get.

Обработка

Обращаем внимание на код, который идентифицирует состояние процесса. Нас устраивает только успешная пересылка, а она обозначается как 200.

Работа с базами

Общие принципы мы уже успели уяснить. Теперь закрепим на конкретном прикладном кейсе. Итак, мы создаем новый проект с рандомным наименованием. Давайте, возьмем объект – клиенты (контрагенты).

HTTP сервис

Свойства Customers

В общих параметрах мы создаем соответствующий клиентский лист.

Get Customers List

Настройки get customers list

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

url шаблоны

HTTP метод

Далее пойдем по коду.

Создание перечня customers

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

создание перечня

Сериализуем данные

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

запись JSON

Составляем ответ

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

ответ заголовки

Как мы помним, 200 – значение положительного результата нашей функции. Опубликованный запрос принимает следующий вид.

публикация на веб-сервере demo

А в самом конфигураторе поиск выглядит так.

контрагенты

Забив же адрес в браузере, мы проследим ответ в форме сериализованных сведений.

код в браузере

Запрос на CustomerCode

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

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

определение функции

Функция понятна. Если данных не найдено, то после параметра then у нас сработает следующая строка.

ответ, если клиент не найден

Как видим, в этом случае ответ не выдается. Очевидно, ведь его просто нет, по указанному идентификатору в базе никаких контрагентов не находится. Что же следует после else.

Правильно, при найденном номере автоматически заполняется карточка. Вносятся сведения по имени, номеру смартфона и электронной почте. Соответственно, итоговое искомое лицо и вся его характеристика найдена.

И не забываем про сериализацию, в противном случае отправку совершить будет невозможно.

Это тоже своего рода защита, как S в протоколе. То есть, 1С HTTP сервисы и HTTPS отличаются только степенью защищенности пользовательских данных.

Формируем ответ

Мы нашли нужного человека. Теперь нам необходимо, чтобы программа выдала данные в приемлемой форме. Вот в такой.

новый ответ

итоговый результат

Касательно post – алгоритм такой же.

алгоритм при post

тестирование post

И выдача приобретает такой вид.

контрагенты в 1с предприятие

Заключение

Как вы понимаете, для человека, который не прошел специальное обучение, освоение этой техники с нуля будет довольно проблематичным. Придется потратить значительное время, чтобы освоиться. Поэтому созданием и настройкой обычно занимаются профессионалы. Если же на вашем предприятии такого сотрудника нет, то логично будет пройти обучение. Ведь если не работает HTTP сервис 1С и обмен данными через 1C, настройка – в 90% и является причиной случившегося. Просто неверны базовые параметры. Соответственно, чтобы не парализовать производство всего отдела, к работе стоит допускать только компетентного человека, прошедшего соответствующий курс.

HTTP-сервис в 1С: создание, публикация и отладка

В платформе версии 8.3.5 появилась возможность создавать HTTP-сервисы. Как и «старые» SOAP web-сервисы, HTTP-сервис позволяет получать/изменять данные, но при этом, как утверждает компания 1С, HTTP-сервисы потенциально позволяют упростить создание клиентских приложений, уменьшить объем передаваемых данных и вычислительную нагрузку, все это особенно для мобильных устройств.

В этой статья я постараюсь рассказать о том, как создавать, отлаживать и использовать HTTP-сервисы в 1С.

Начнем с того, что для создания HTTP-сервиса нам необходим веб-сервер, например Apache 2.2 (начиная с версии 8.3.8 и Apache 2.4 подойдет). Описывать установку веб-сервера думаю нет необходимости.

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

Итак, создаем новый HTTP-сервис:

Новый HTTP-сервис

Новый HTTP-сервис

Корневой URL — важный параметр, входит в адрес по которому сервис будет доступен после публикации.

В соответствующем разделе создаем новый шаблон URL и метод:

Шаблоны URL и методы

Шаблоны URL и методы

У шаблона URL есть единственное свойство — шаблон. Этим свойством можно задать путь по которому будет происходить обращение к HTTP-сервису. В шаблоне можно использовать параметризованные сегменты, как на рисунке ниже (об их использовании ниже).

Свойства шаблона

Свойства шаблона

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

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

Свойства метода

Свойства метода

Перейдем к примеру обработчика метода, в нем я возвращаю содержимое переменной «Запрос», которая передается в обработчик:

HTTP-сервисы в 1С 8.3 с примерами

В данной статье мы рассмотрим основные сценарии создания своих HTTP-сервисов в 1С. На нескольких примерах мы разберем устройство HTTP-сервисов в 1С – как их настраивать в конфигураторе, какие объекты и методы языка используются. Также познакомимся с некоторыми нюансами разработки HTTP-сервисов, и слегка коснемся способов их тестирования и отладки.

Содержание

Немного теории о http-сервисах в 1С 8.3

HTTP -сервисы – это объекты конфигурации, которые позволяют обрабатывать входящие HTTP запросы, и по сути “превращают” 1С в бэкенд-движок. В их основе лежит использование протокола HTTP и его методов, таких как GET, POST, UPDATE и других. Программные средства платформы позволяют анализировать URL-адрес запрошенного ресурса, параметры HTTP запроса, его заголовки и тело, и в зависимости от этого возвращать тот или иной HTTP-ответ.
Входящий HTTP запрос включает в себя URI-адрес, имя метода, заголовки, параметры URL(обязательные части адресной строки) и параметры запроса(необязательные части адресной строки), а также может содержать тело запроса.
После обработки входящего запроса HTTP сервис должен вернуть ответ, который состоит из заголовков, кода ответа и тела ответа. Телом может быть простой текст, двоичные данные, файл, HTML-документ и т.д.
Жестких требований к структуре адреса URI и к обработке методов нет, но существуют распространенные соглашения. Например, будет дурным тоном использовать метод DELETE для создания элементов, или метод GET для удаления.
Одним из подходов к архитектуре http-сервисов является REST API, но далеко не всегда при разработке http-сервисов целесообразно во всем следовать методологии REST.

В отличие от SOAP сервисов, HTTP сервисы гораздо менее формализованные и более гибкие, что одновременно является и достоинством и недостатком.
За дополнительной теоретической информацией можно проследовать по ссылкам:
Список заголовков HTTP
Список кодов состояния HTTP
Еще больше про протокол HTTP от Mozilla

Пример простого http-сервиса

Как водится, любую теорию лучше закреплять на практике. Создадим простой http сервис, который будет возвращать текст “Hello world”.
Для этого перейдем в конфигуратор и откроем ветку метаданных Общие / HTTP-сервисы. Имя сервиса как нравится, например, “HelloWorld”. Важным свойством является корневой URL – это та часть адреса, которая будет стоять перед URL для конкретных шаблонов.

Как прочитать файл Excel в 1С 8.3

Следующее, что необходимо сделать – добавить шаблон на вкладке Шаблоны URL. По этому шаблону платформа будет осуществлять диспетчеризацию входящих запросов – если текст URL будет соответствовать какому-то шаблону, будет вызван обработчик соответствующего метода. Если же ни один шаблон не подошел, будет возвращен ответ с кодом ошибки.

Добавим шаблон “/say”. В итоге получим следующий URL 127.0.0.1/demohttp/hs/helloworld/say. По частям он выглядит так: /hs/ . hs в адресе, как не трудно догадаться, означает “HTTP сервисы”.

Простой http-сервис в 1С пример 2

Каждый шаблон URL может принимать запросы с разными методами. Для простого примера HTTP-сервиса добавим метод GET, и укажем имя события обработчика. Если не указать, платформа сгенерирует имя самостоятельно.

Простой http-сервис в 1С пример 3

Платформа автоматически создаст заготовку процедуры-обработчика, и нам останется только дополнить ее своим кодом.
Чтобы сервис что-то возвращал, кроме кода ответа, нам понадобится установить тело ответа. Нам доступно три варианта – установить тело из файла, из потока либо из строки. Последнее мы и используем.

Чем хорош метод GET – так это тем, что он прекрасно вызывается из адресной строки браузера – достаточно указать нужный URL, и браузер отправит HTTP запрос, и отобразит ответ в текущем окне или вкладке.

Но для того, чтобы внешний мир “увидел” ваш сервис, необходимо опубликовать информационную базу на веб-сервере. Это может быть Apache либо Microsoft IIS – выбирайте что вам проще и удобнее. Важно – для публикации на веб-сервере конфигуратор необходимо запустить от имени администратора ОС!
В настройках публикации необходимо отметить флажком нужный HTTP-сервис и проставить также флажок “Публиковать HTTP сервисы по умолчанию “.

Простой http-сервис в 1С пример - публикация на веб сервере

Для проверки наберем адрес нужного нам сервиса в браузере.

ПараметрыURL

Теперь давайте немного усложним наш сервис, а заодно познакомимся с передачей параметров.
При создании шаблона мы можем указывать не только фиксированные части, но и так называемые именованные секции. Они представляют собой часть адреса, указанную в фигурных скобках. Например, мы можем указать шаблон “/say/
В этом случае при обработке входящего запроса нужный параметр будет содержаться в коллекции ПараметрыURL. Ключ коллекции – это сама именованная секция, а значение – то что было фактически указано в адресе URL. Например, если мы укажем /say/admin, то в коллекции у нас будет один элемент – с ключом “name” и значением “admin”.

Обратите внимание, что указание значения для именованных секций является обязательным. Т.е. если есть секция name, ее обязательно придется заполнить, чтобы сработал корректный шаблон. Либо нужно предусматривать несколько шаблонов – например один с именованной секцией, другой – без нее. В противном случае мы получим ошибку 404.

Немного изменим код нашего сервиса, чтобы он выводил в ответном сообщении все значения параметров URL. Здесь для того, чтобы браузер корректно отобразил кириллические символы, мы указываем заголовок Content-Type, в котором “говорим” браузеру, что в ответе – обычный текст в нужной нам кодировке utf-8.
Так как ПараметрыURL – это обычное фиксированное соответствие, то и работать мы с ним будем как с фиксированным соответствием, и для доступа к значениям можем использовать метод Получить(), либо же перебрать коллекцию в цикле.

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

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