Страницы

20 ноября 2018

HTTP-сервис 1С 2 часть

Продолжая первую статью HTTP-сервисы 1С сегодня рассмотрим способы передачи параметров HTTP-сервису 1С GET и POST методом.

Содержание:

1. Вспоминаем прошлые настройки
2. Создание метода HTTP-сервиса с параметром

3. Проверка работоспособности HTTP-сервиса с параметром
4. Передача данных по протоколу POST

5. Проверка работоспособности HTTP-сервиса по протоколу POST
6. Fiddler авторизация

1. Вспоминаем прошлые настройки

В прошлой статье мы создали чистую конфигурацию test. В нее добавили один справочник Оборудование, заполнили его тремя записями. Добавили HTTP-сервис СписокОборудования с Корневым URL - ob. Опубликовали конфигурацию под именем test.


2. Создание метода HTTP-сервиса с параметром


Откроем ранее созданный HTTP-сервис СписокОборудования, на вкладке Шаблоны URL добавьте новый шаблон ОборудованиеПоНомеру в свойстве Шаблон пропишите шаблон /info/{Code}, в качестве параметра будет выступать ключевое слово Code. Через этот параметр будем передавать номер оборудования, по нему искать и выводить найденное Название оборудования.


В шаблоне ОборудованиеПоНомеру добавляем метод obinfo. Для этого метода в свойстве HTTP-метод выбираем GET и создаем обработчик.






В обработчике напиши код поиска в справочнике Оборудование записи с кодом переданным через параметр Code и вернем результат клиенту. Ниже представлен листинг обработчика ОборудованиеПоНомеруobinfo:

Функция ОборудованиеПоНомеруobinfo(Запрос)
//Получаем значение с параметра Code
КодОборудования = Запрос.ПараметрыURL.Получить("Code"); 
     //Параметр чувствителен к регистру

//Выполняем поиск оборудования по номеру
Оборудование = Справочники.Оборудование.НайтиПоКоду(КодОборудования);

//Формируем ответ клиенту

Если Не ЗначениеЗаполнено(Оборудование) Тогда
//Если запись с таким кодом не найдена
Ответ = Новый HTTPСервисОтвет(204);
Иначе
//Если запись с такм кодом найдена, то

//Формируем структуру из найденной записи
ДанныеОборудования = Новый Структура;
ДанныеОборудования.Вставить("Code", Оборудование.Код);
ДанныеОборудования.Вставить("Naim", Оборудование.Наименование);

//Сериализуем данные в JSON
ЗаписьJOIN = Новый ЗаписьJSON;
ЗаписьJOIN.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJOIN,ДанныеОборудования);
СтрокаДляОтвета = ЗаписьJOIN.Закрыть();

//Формируем ответ клиенту
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type","application/JOIN; charset=utf-8");
Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета,КодировкаТекста.UTF8,
          ИспользованиеByteOrderMark.НеИспользовать);
КонецЕсли;

//Возвращаем ответ
Возврат Ответ;

КонецФункции

Осуществим повторную публикацию нашего сервиса выполнив пункты меню Администрирование / Публикация WEB-сервера...

3. Проверка работоспособности HTTP-сервиса с параметром


Определимся, по какому URL нужно обратиться, чтобы протестировать HTTP-сервис с параметром.
Строка URL HTTP-сервиса формируется как:
HTTP://<ИмяСервера>:порт>/<ИмяКонфигурации>/hs/<КорневойURL>/<Шаблон>/<Параметр> 

где:
ИмяСервера = localhost (или название вашего ПК, или доменное имя)
Порт = 8080 (можно не указывать, по умолчанию 80 порт)
ИмяКонфигурации = test
hs – означает, что обращаемся к HTTP-сервисам
КорневойURL = ob
Шаблон = info


Параметр = 000000003 


В результате получаем: http://localhost/test/hs/ob/info/000000003
Внимание! Путь чувствителен к регистру!

Сформированный URL-адрес вводим в браузер. После нажатия Enter скачается файл или отобразится содержимое в формате JSON. Этот файл можно открыть блокнотом и посмотреть что он содержит.




Как обращаться к HTTP-сервису через язык PHP рассматривали в прошлой статье.

4. Передача данных по протоколу POST



Поставим перед собой задачу: Клиент отправляет наименование оборудования HTTP-сервису, если такого оборудования в базе нет, то создаем его и выводим результат клиенту в формате JSON.

Аналогично предыдущему описанию создаем еще один шаблон URL ОборудованиеПоНаименованию в свойстве Шаблон прописываем /infopost. 




Создаем метод МетодPost. В свойстве HTTP-метод выбираем POST. Создаем обработчик.

В обработчике пишем код: 

Функция ОборудованиеПоНаименованиюМетодPost(Запрос)
//Получаем параметр запроса 
НаименованиеОборудования = Запрос.ПараметрыЗапроса.Получить("naim"); 

//Ищем оборудование 
Оборудование = Справочники.Оборудование.НайтиПоНаименованию(НаименованиеОборудования); 
Если НЕ ЗначениеЗаполнено(Оборудование) Тогда 
Оборудование = Справочники.Оборудование.СоздатьЭлемент();
Оборудование.Наименование = НаименованиеОборудования;
Оборудование.Записать(); 
Иначе 
Оборудование = Оборудование.ПолучитьОбъект(); 
КонецЕсли; 

//Формируем структуру из найденной записи
ДанныеОборудования = Новый Структура;
ДанныеОборудования.Вставить("code", Оборудование.Код);
ДанныеОборудования.Вставить("naim", Оборудование.Наименование);

//Сериализуем данные в JSON
ЗаписьJOIN = Новый ЗаписьJSON;
ЗаписьJOIN.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJOIN,ДанныеОборудования);
СтрокаДляОтвета = ЗаписьJOIN.Закрыть();

//Формируем ответ клиенту
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type","application/JOIN; charset=utf-8");
Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета,КодировкаТекста.UTF8,
        ИспользованиеByteOrderMark.НеИспользовать);

Возврат Ответ;

КонецФункции



5. Проверка работоспособности HTTP-сервиса по протоколу POST


К сожалению, нельзя из браузера, как с методом GET,  отправить запрос на HTTP-сервис. Поэтому мы воспользуемся бесплатной программой Fiddler (http://www.telerik.com/fiddler). Для создания запроса вручную достаточно перейти на вкладку Composer. Выбрать протокол POST и нажать кнопку Execute.



В результате в левой колонке мы увидим запрос клиента к HTTP-сервису. Выберем его и на вкладке JSON можно посмотреть, что вернул HTTP-сервис.



Результат в 1С.


6. Fiddler авторизация

Если в 1С имеются пользователи, то запрос в программе Fiddler без авторизации не выполнить, будет выдаваться ошибка авторизации 401.



Чтобы решить данную проблему необходимо выполнить ряд хитрых действий:
1. В программе Fiddler в меню Rules поставить галку Automatically Authenticate.
2. Для удобства поиска и просмотра нужной строки, в Fiddler очистить левый столбец (Ctrl+A и Delete) или мышкой используя контекстное меню с пунктом Remove/All sessions.
3. В браузере выполнить запрос к HTTP-сервису 1С методом GET, к примеру: http://localhost/test/hs/ob/info/000000003.
Браузер попросит ввести пользователя и пароль - производим аутентификацию. Если браузер не попросил указать логин и пароль, значит вы уже раз их вводили и браузер запомнил, нужно закрыть и открыть браузер повторно и еще раз выполнить запрос.
4. В программе Fiddler найти строку с запросом и на вкладке Headers найти параметр Authorization: Basic. 


Скопировать всю строку и вставить на вкладке Composer в поле заголовков запроса. 




Теперь можно выполнять любые запросы, в нашем случаи запрос через метод POST: http://1C/test/hs/ob/infopost?naim=Колонки
Результат выполнения



Отладив HTTP-сервисы используя программу Fiddler можно разрабатывать клинские приложения на любых языках поддерживающих JSON. К примеру в прошлой статье использовали язык PHP для создания веб страницы. 

20 комментариев:

  1. Спасибо большое! Очень полезная для разработчика статья!
    Особенно мне пригодился способ отладки HTTP сервиса (POST)

    ОтветитьУдалить
  2. Единственное авторизация в Fiddler у меня не сработала. Пришлось править файл публикации default.vrd
    ib="Srvr="192.168.xx.xxx";Ref="NameBase1C";usr=NameUser1C;pwd=1980912">

    ОтветитьУдалить
    Ответы
    1. У каждого системы настроены по разному, версии могут различаться. Поэтому бывают такие моменты. Если углубиться в проблему, решение найдется.

      Удалить
  3. Подскажите пожалуйста, как можно в сервисе, выполнить еще запрос на сервер, для получения параметра. И только потом формировать ответ.
    Например на php у меня отрабатывает вот такой код

    define('VERIFY_TOKEN', 'dfyzdfyz');

    $method = $_SERVER['REQUEST_METHOD'];

    if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe'
    && $_GET['hub_verify_token'] == VERIFY_TOKEN) {
    echo $_GET['hub_challenge'];
    ......

    ОтветитьУдалить
  4. Очень приятно, что статья помогла вам найти решение поставленных задач!

    ОтветитьУдалить
  5. А зачем какие - то фидлеры php... Как из 1С отправить???

    ОтветитьУдалить
  6. В каком магазин учебников ychebniki.ru Эффективно приобрести учебник? Такой вопрос определенно когда-либо задавался, без сомнения, люда отец или учитель. Можно найти книги по самопомощи большими партиями, а также сократить потребление, посетив нашу рыночную методологию "разумный текст". Здесь вы познакомитесь с большим ассортиментом учебной литературы для студентов с первого дня одиннадцати качественных программ. На нашем методическом ресурсе "мудрая литература" у вас также есть возможность купить профессиональную тетрадь, хорошие школьные учебники, учебную литературу и так далее. Почему эффективно заказывать книги в виртуальном супермаркете? Поскольку вы хотите сэкономить деньги в течение длительного времени и при этом не тратить на все это много времени, это наша компания образовательных учебников "разумная литература", разработанная специально для вашего имени. Приобретая тематическую книгу с помощью интернет-бутика "разумный текст", вы получаете возможность сэкономить до сорока% доступного бюджета! Теперь, чтобы загрузить self-справочные книги в следующем учебном году клиенту, возможно, пока не придется оставлять дома. Для этого достаточно нажать на наш веб-ресурс, а также указать выбранные билеты и т.Д. В избранное.

    ОтветитьУдалить
  7. Система образования свердловской области направлена на создание условий для получения крутого образования, отвечающего потребностям современного нового экономического развития, прихода легкого общеэкономического оборудования в отрасль образования, создания высокоэффективного нравственные, социально оптимальные, востребованные люди, образовательное учреждение птптд.рф Обеспечивающие условия для ее самоутверждения. Ключевые стили образования для создания свердловской области обусловлены строгим соблюдением настроений федеральной программы, приведенной в государственной программе по созданию высшего образования на 2011-2015 годы, местные такие пожелания "наше новое учебное заведение". Основными целями формирования системы развития свердловской области в двенадцатом году были: 1. Обеспечение пилотного приема федерального национального когнитивного образца основного совместного формирования. Два. Предоставление критериев для продажи базовых учебных каналов, предлагающих внедрение государственных национальных школьных стандартов совместного создания. Три. Расширение службы подачи заявок на продажу муниципальных национальных школьных стандартов начального и более старшего специального образования. Предоставление организациям специального способа выполнения условий процентного интереса к требованиям продажи основных специальных каналов обучения.

    ОтветитьУдалить
  8. Годы работы: пн. - Пт.: С восьми.С тридцати до шестнадцати.00, сб.: С восьми.От тридцати до четырнадцати процентов.10, выходной день - воскресенье Дополнительно. Информация: район: принимающий Галерея 1 Дата последнего изменения: 10 июля 2014 года, семнадцатого числа:47 ноль Ноль комментариев 4238 просмотров комментарии того же типа Среднее учебное заведение № шестьдесят четыре Среднее значение общеобразовательная школа 37школа.рф №Два|2|два>|два>>, восстановление Средняя школа №. Тринадцать названы в честь. В течение длительного времени, в случае.On. Болдина Среднее учебное заведение № шесть тем. Процент против железной дороги. Ушинский Отзывы Комментарий Важные обзоры В туле отменили муниципальный субботник Правда есть правда Написано сейчас на 09:00 Катастрофа - или что-то еще. Затем рабов загонят на "галеры". Приготовьтесь, рабы. 29 за короткое время Глава тульского управления благоустройства признался, кто еще не ознакомился с правилами ухода за проспектами Света тульская Написано 16 апреля, на тринадцать процентов:49 Я приношу свои извинения.. Имеет возможность ошибаться, и запрещено рассуждать на щеках любого человека. В то же время похожее чувство заключается в том, что он совершенно не разбирается в том, что прочитал. 82 всего за 7 дней В тульской области нет особой необходимости отменять заказ на маски Xenon5 тщательный Написано 28 марта в 15:четырнадцать.... Определенно... Уточнение: это так здорово - собирать штрафы... В случае чрезвычайно, в то же время, появляются везде с пустым лицом...

    ОтветитьУдалить
  9. Горячий развивающий бизнес для дома ваш малыш wunderkind.su - Аналогичный конкурс. Хорошая новость заключается в том, что каким-то образом нужна большая независимая игра, а не игра непосредственно с родителями. Следуйте пожеланиям ребенка: если заемщик убежден, что он увлеченно играет в игру без посторонней помощи, предоставьте ему эту услугу, не всегда вмешивайтесь первым без необходимости; если он хочет вас сегодня, договоритесь о совместном периоде, не прекращая играть! Отмечается, что иногда он будет подбирать самостоятельно, при этом хорошо, о чем почитать. А иногда у вас есть возможность устроить себе сексуальную фантазию. Мы не должны забывать об ограниченности времени внимательности дошкольников. Игра должна быть энергичной и, следовательно, не чрезмерно долгой. Разумно использовать движение, частоту, дорожку на арифметике. Образование, которое развлекается с полуторагодовалым ребенком? Существует огромное количество версий, например - можно начать изучать квадраты никитина или все элементы сегена. А также закажите более активные развлечения, такие как увлекательная игра в дартс на липучке или бросание мяча на кольцо. Для некоторого развития мелкой моторики можно покататься на них-ягодках из пластилина, чтобы после этого можно было наклеить пленки на лист бумаги с нарисованным деревом, или попробовать себя в проекте "ежик".

    ОтветитьУдалить
  10. Как реализовать приложение? Рекомендуемые контактные данные: номер: седьмой-922-199-23-63 почтовый адрес: mail@vipcu.Ru Купить в whatsapp Расчет по любому варианту, который подходит вашему имени Абсолютная анонимность В конце концов, защищенные документы для клиента - это не всегда просто обычный документ, диплом о высшем образовании http://vipcu.ru/ Проценты, с которыми не всегда будут возникать проблемы, когда включено соответствие требованиям. К сожалению, на нашем базаре есть недобросовестные организации, которые принимают аванс, а потом теряются. Наша фирма ориентирована на установление доверия с заемщиком, поэтому мы исключили аванс из списка запросов. При покупке корочки многие получали либо стандартную в, либо школьный аттестат из девяти или одиннадцать разновидностей гарантированы в: - Абсолютная анонимность в течение длительного времени, а также неразглашение индивидуальных предпочтений; - абсолютная конфиденциальность личности (пока никто не будет знать об этих и других конкретных покупках, мы гарантируем устранение информации о работе контактного лица в конце операции). Сделайте запрос или свяжитесь с этим номером прямо сейчас. Диплом предоставит пользователям возможность стать популярным сотрудником в сфере торговой работы.

    ОтветитьУдалить
  11. Базовый учебник серии "учебные периодические издания для магистров" со штампом федерального национального обособленного учреждения "государственный университет образования" (фгау "фиро") известного профессора-в области экономики, сорванца значительного событие "честь" состоялось на море важнее выгоды" в номинации "благородные сыновья на долгое время, а также девушки нашего мегаполиса", обладатель премии "импортер московского руководства" за набор технологических, экспериментальных и методических услуг, а также победитель конкурса литературные и мировые премии "жизнедеятельность задыхается без задачи в честь двухсотлетия именин невообразимого русского борзописца федора михайловича достоевского с вручением одноименной монеты, советник ректора гуз по личностному развитию учебного заведения, доктор исторических наук экономика, учебники по экономике http://uamconsults.com/ Ученый михаил петрович буров "локальная аналитика в случае координации пространственного прогресса."

    ОтветитьУдалить
  12. Детский сад № 134 жемчужинка относится к разделам: огороды для малышей. Вы сможете запросить любую нужную вам публикацию, набрав семь (8352) 51-три дюжины-шестьдесят процентов, семь (8352) 51-три дюжины-много. Сегодня это учреждение не обладает преимуществами статуса. Вы также получите отличный шанс принять участие в зависимости от статуса учреждений мегаполиса, установив положительную или отрицательную характеристику. Помимо прочего, у вас есть возможность оставить ответ дошкольному учреждению № 134 "жемчужинка" - предлагаемые потребители найдут привлекательной любую дополнительную и беспристрастную точку зрения. Для всех, у кого конкретно есть какие-либо вопросы о том, где и как у вас есть возможность прибегнуть к детский сад чебоксары erudit21.ru, У вас может быть возможность связаться с оператором на этом сайте.

    ОтветитьУдалить
  13. Юридические образовательные центры, но корпорации, проводящие обучение по сетевым тарифам 1с бухгалтерия восемь с конвейера в липецке: услуги, мобильные телефоны, комментарии, топ, график работы, схема преодоления, цена, штучный обзор, картинки давно, ну и видео наглядные пособия утс. В образовательных центрах а также в новых корпорациях мы действительно проходим компьютерные семинары 1с бухгалтерия в липецке Uc "однако. Ф. Конто" ул. Семашко, железнодорожный. 1, шкаф 317 - В режиме 24 (474) 227-43-81 Три.2 оценки: шесть Ул. Стаханова, ж.Четырнадцать процентов, отделение девятнадцатого - 24 (4742) 71-87-71 Три.3 оценки: девятнадцатый Ул. Советская, ж. Шестьдесят четыре, офис 436 - 7 и более (4742) 227-254, семь (4742) 224-998 Три.2 оценки: пять Ул. Перова, дж. 2j - 7 и более (4742) 28-31-59 Три.0 оценок: три Ул. Международный, ж. 51 - Седьмой (4742) 50-49-семьдесят лет, семерки (4742) 26-00-66 2|два>|два>|два>.2 оценки: пять Ул. Аэродромная, ж. Двадцать процентов - 24 (4742) 71-27-05, седьмой (4742) 55-50-62 Четыре.0 оценок: 10 Намного больше. Куша, ф. Если у вас возникнут идеи о том, когда это было давно, и что где использовать компьютерные курсы http://edu-nn.ru/, У вас есть возможность связаться с нашей компанией в этой учетной записи хостинга.

    ОтветитьУдалить
  14. Городской отдел муниципального образования был создан в 1936 году, 05.05.1996 был переименован в службу координации муниципального образования, 01.06.2002 был переименован в службу формирования городского руководства.Стерлитамак, с 01.01.2006 преобразован в муниципальное учреждение "отдел образования http://edu-mezhgorie.ru/ Дирекция столичной каталонии г. Стерлитамак республики башкортостан", из пятнадцати.Одиннадцать.В 2011 году он был преобразован в муниципальное казенное учреждение "департамент по развитию руководства столичной каталонии г. Стерлитамак республики башкортостан".

    ОтветитьУдалить
  15. Какие сертификаты приобретаются? Конечно, граждане самых неожиданных профессий. Таможенник, которому администрация приказала получить юридический профиль. Программист, который начал службу на заре девяностых, в то время как крупная компания вдруг потребовала сертификат. Общественный деятель - это хозяйственник с гуманитарным образованием, которому нужно заказать корочку финансиста. Инженер, окончивший колледж, хорошо узнал, что на предприятиях сейчас работают только сотрудники с улучшенной внешностью. Существуют обстоятельства, при которых квалифицированный мастер, переехавший в российскую федерацию – из бывшей российской республики, купить диплом техникума chamberopera.ru Еще не имеет права удостоверять личное образование. Все ситуации возникают в случае только одного решения. Приобретите документ с печатями, одобренными гознаком, на случай, если какой-либо отдел кадров не всегда попадает в какое-либо "самое высокое положение".

    ОтветитьУдалить
  16. Секс видео в абакане найти не так-то просто, город абакан http://abakanschool.ru/ В случае с редактором ресурса она приложила все усилия и также обнаружила 2348 секс-файлов. Мы хотим порадовать вас лично, клиенту не нужно просматривать интересующий вас фильм. Ниже собраны самые аппетитные видео с сексом в абакане с повышенной точностью. Наша компания предоставляет человеку совершенно новые порно файлы в режиме 7-24 часа без оплаты. Наслаждайтесь просмотром съемочных файлов с порно на абакане в качестве 720-1080 на любом компьютере. Смотрите секс на абакане, тогда вы полностью окунетесь в новые съемки видео в вирте из легендарных помещений порно. Курс реальных межрасовых секс-видео из их близких разделов, с их моделями для съемок, которые заинтересовали вас в случае подключения ваших личных фильмов к программам 18+! Мы добавим его в квитанцию по вашему вкусу! Наши специалисты регулярно дают вашим талантам хорошенько потрахаться в абакане из фильмов 18+, а также только в 4k-качестве. Миллионы самых свежих секс-видео буквально каждую минуту. Смотрите порно без скачивания. Абсолютно никаких взносов! Съемка по частям- файлы – ресурс в российской федерации. Поиск по hd также скачивайте без оплаты трах на абакане в смартфоне, другом устройстве или компьютерах на страницах сайта.

    ОтветитьУдалить
  17. Возрастных ограничений быть не может, если у вас есть сертификат об обучении по одиннадцати категориям. Независимо от прожитых вами лет, ваше имя не вызовет подозрений даже на очко, а также на чек. Было бы желание. В курсе кто-то, у кого был сертификат инженера позже в старости (учился заочно), то с каким человеком будет готовить, то это секрет. И если, к тому же, вы еще не выиграли итоговый документ об окончании института, и чтобы они сдали проходной балл одобрительно, у вас уже есть возможность также стремиться к экономической должности, каким образом в очко, никогда в заочке. 2-й профиль, правда, везде платный. Если вам нравится эта заметка, ну, вы хотите получить более конкретную информацию о купить диплом diplomabesst.com, Пожалуйста, обратитесь к нам через интернет-сервис.

    ОтветитьУдалить
  18. Екатерина, автор павел. Три произведения искусства. Пять законов ото 29.20.Двенадцатый n 273-фз "о в россии": " В российской федерации бесплатное получение соответствующего диплома предоставляется на конкурсной основе, поскольку человек сдает формирование этого показателя впервые." На павла. Согласно статье 69 этого федерального закона, образование за счет бюджетных ассигнований федерального бюджета, кошельков субъектов россии, а также текущих кошельков по праву занимает 2-е или более место в программах по основным программам подготовки специалистов по: 1) программам бакалавриата программы или специализированные программы - специальные, имеющие документ о высшем образовании, "корочку эксперта" или сертификат магистра; два) программы для магистерских программ - физические лица, получившие сертификат эксперта или документ магистра; три) программы для программ резидентуры или программ ассистентов стажировки - лицами, получившими сертификат об обучении в резидентуре или сертификат об окончании курса по программам ассистентов стажировки; четыре) заявки на обучение специалистов экспериментальной педагогики - специальные, имеющие сертификат об окончании аспирантуры курс (адъюнкт) или документ кандидата наук. С помощью этого сторонам со всеми степенями была предоставлена возможность изучать программы бакалавриата и специалитета только на контрактных (платных условиях, заказать диплом diplomasru.com Машины от 0,5 до 20 тонн.E. Вы можете получить 2-е место исключительно на постоянной (платной) основе. Я обращаю пристальное внимание на тот факт, что пол.

    ОтветитьУдалить