Сообщения

Показаны сообщения с ярлыком "запрос"

Часть 2. Тестирование и отладка HTTP-сервиса с помощью SoapUI

Изображение
Часть 1. Создание HTTP-сервиса Самый простой способ тестирования http-сервиса, это воспользоваться готовым бесплатным программным продуктом, который создан именно для таких целей. Я предпочитаю пользоваться программой SoapUI. Запускаем SoapUI, создаем новый REST проект File -> New REST Project. В открывшемся окне вводим URI http-ресурса (см. рисунок 1), который собран по шаблону: http://<доменное имя>/<имя публикации>/hs/<шаблон URL>?<параметры> . Рисунок 1. Создание нового REST проекта

Особенность работы конструкции дополнения дат в запросе

В случае если поле, по которому рассчитываем итоги, является полем типа Дата, то возможно дополнение результатов датами в заданном периоде. Делается это при помощи ключевого слова ПЕРИОДАМИ, после которого в скобках указывается вид периода (одно из СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ), начальная и конечные даты интересуемого периода. В случае если начальные и конечные даты не указаны, будут использованы первая и последняя даты, участвующие в результате. Допустим, мы написали запрос с дополнением дат: ВЫБРАТЬ НАЧАЛОПЕРИОДА(_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.Период, МЕСЯЦ) КАК Период, _ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, СУММА(_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоОб...

Выполнение POST-запроса по протоколу HTTPS на платформе 8.2 на примере Yandex.API

Изображение
Выполнение POST-запроса на примере Yandex.API Выполнение GET-запроса на примере Яндекс.API Теперь сервис Яндекс.Геокодер работает по протоколу HTTPS (расширенная версия протокола HTTP, который поддерживает шифрование). Вызов принят, 1С вызываю тебя! Танцы с бубном вокруг файла cacert.pem Что бы с помощью платформы 1С выполнить HTTPS-запрос методом POST, необходимо в файл cacert.pem добавить информацию о корневом сертификате сервиса, на который выполняется запрос, иначе запрос будет завершаться ошибкой: Peer certificate cannot be authenticated with known CA certificates Если же платформа 1С содержит информацию о корневом сертификате, то ничего настраивать не нужно, все будет успешно выполняться. Добавление информации о корневом сертификате Важно! Все сертификаты из цепочки необходимо добавлять в файл cacert.pem 1. Скачать подходящий дистрибутив с сайта  Win32OpenSSL , например, для 64 разрядной ОС Win64OpenSSL_light последней версии.

Маленькие хитрости больших запросов

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

Вызов веб-сервиса выполнением POST-запроса

Изображение
Выполнение POST-запроса на примере Yandex.API Вызов Web-сервиса с помощью динамической ссылки SOAP расширяет HTTP для возможности передачи XML-сообщений, используемых для удалённого взаимодействия и для передачи целых XML-документов. Поэтому, что бы вызвать Web-сервис, необязательно использовать специальные объекты встроенного языка для работы с SOAP, достаточно сгенерировать SOAP-сообщение и выполнить HTTP-запрос методом POST. Формирование SOAP-сообщения Структура SOAP-сообщения выглядит следующим образом: 1. Структура SOAP-сообщения Заголовок <soap:Header> является необязательным и служит для передачи информации, такой как: аутентификация, информация о защите, информация о транзакция и т.д. Платформа 1С не поддерживает работу с заголовком средствами встроенного языка и так же веб-сервисы, реализованные на этой платформе.

Выполнение нескольких запросов к БД одним объектом Запрос

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

Выполнение POST-запроса на примере Yandex.API

Изображение
Выполнение GET-запроса на примере Яндекс.API Выполнение POST-запроса по протоколу HTTPS на платформе 8.2 на примере Yandex.API Платформа 1С поддерживает выполнение HTTP-запросов методом POST. POST-запрос позволяет передать на веб-сервер большой объем данных, в отличии от GET-запроса, например, файл или строку большой длины. Передача значений параметров осуществляется их помещением в тело запроса. Обязательным заголовком для данного вида запроса является Content-Type , в котором указывается кодировка для веб-сервера, что бы он знал как обрабатывать (раскодировать) HTTP-запрос. Рассмотрим выполнение HTTP-запроса методом POST на примере сервиса Яндекс.Геокодер. В запросе мы будем передавать через параметр  geocode  название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).

Выполнение GET-запроса на примере Яндекс.API

Изображение
Выполнение POST-запроса на примере Yandex.API Выполнение POST-запроса по протоколу HTTPS на платформе 8.2 на примере Yandex.API Платформа 1С позволяет разработчикам выполнять HTTP-запрос методом GET. С помощью GET-запроса веб-серверу передаются параметры (тело у такого запроса отсутствует), в ответ сервер возвращает некую информацию. Параметры GET-запроса имеют следующий формат  ИмяПараметра=ЗначениеПараметра и разделяются вопросительным знаком. Пример GET-запроса: http://geocode-maps.yandex.ru/1.x/?geocode=Ивановка . Рассмотрим выполнение HTTP-запроса методом GET на сервис Яндекс.Геокодер. В запросе мы будем передавать через параметр geocode название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).