|
Обмен с сайтом/другой базой (в две стороны). HTTP-сервис. JSON | ☑ | ||
---|---|---|---|---|
0
AnBlast
28.11.19
✎
16:02
|
День добрый...
Пытаюсь осваивать обмен с сайтом. Суть - есть база 1С в которой можно отслеживать доступность номеров для бронирования (а так же цены и тучу еще всего) - есть сайт который должен спросить у этой базы доступность и показать ее пользователю в вебе. Сайт еще не закончен и сервисов с его стороны еще нет. Потому пробую решать аналогичную задачу используя только 1С. Сделал базу. Опубликовал http-сервис (GET). В итоге в браузере вижу JSON нужной мне структуры. Теперь надо эти данные получить и прочитать из другой базы. И вот на этом месте все... продвижения нет. Собственно опыта (понимания походу) http-сервисов нет. RTFM - ok. Только не могу найти похожего мануала. Подскажите куда копать. Или ссылку правильную плиз. Заранее Спасибо. |
|||
1
Beduin
28.11.19
✎
16:04
|
(0) Веб-сервер это просто программка, которая по определенным запросам дает ответы.
|
|||
2
ДенисЧ
28.11.19
✎
16:09
|
Гугли слово REST.
Я - полный нуль в вебе, разобрался и написал такое (плюс и свой рест-сервер) за полдня |
|||
3
AnBlast
28.11.19
✎
16:13
|
(1) ок.
в браузере по строке http://localhost/Test_HTTP_1/hs/info?action=getrooms получают ответ в виде [ { "date_begin": "2019.10.10", "date_end": "2019.10.16", "seats": 2, "seats_child": 0, "check_in": 1, "check_out": 1, "nutrition": "hb" } ] Это тот формат, который потом будет отдавать сайт... Далее написал обработку которая по кнопке должна обратиться к этому делу. Код из какого-то мануала... Может важно, что для публикации юзаю GET, а при получении POST. На выходе 401 (( Процедура КнопкаВыполнитьНажатие(Кнопка) Адрес = "http://localhost/Test_HTTP_1/hs/info?action=getrooms"; ПарамОтвет = Новый Структура; ВыполнитьHTTPЗапрос(Адрес, "", "POST", ПарамОтвет); Если Сред(ПарамОтвет.Ошибка, 1, 28) = "КодСостояния HTTP-запроса: 2" Тогда Чтение = Новый ЧтениеJSON; Чтение.УстановитьСтроку(ПарамОтвет.Ответ); Структ = ПрочитатьJSON(Чтение, Истина); Иначе Сообщить(ПарамОтвет.Ошибка) КонецЕсли; КонецПроцедуры |
|||
4
ДенисЧ
28.11.19
✎
16:17
|
"что для публикации юзаю GET, а при получении POST"
Нормальные люди публикуют через POST А получают данные через GET... |
|||
5
AnBlast
28.11.19
✎
16:42
|
(4) т.е. я категорически криво делаю? не смотря на то, что через браузер я вижу публикацию GETом
|
|||
6
ДенисЧ
28.11.19
✎
16:53
|
(5) Тогда что в твоём понимании "публикация"?
В моём - это размещение данных на сервере. То есть передача из 1с на сервер. Или ты называешь "публикацией" некую статью на сервере? |
|||
7
AnBlast
28.11.19
✎
16:57
|
(6) не... я по нажатию Ф5 в браузере получаю нужную мне инфу нужной структуры. А вот как теперь эту инфу прочитать/получить в соседней базе не догоняю
|
|||
8
AnBlast
28.11.19
✎
16:57
|
т.е. веб сервер публикует то, что я ему сказал. а теперь это забрать бы
|
|||
9
ДенисЧ
28.11.19
✎
16:57
|
(7) Ф5 - это типичный гет. Так что тебе нужно сформировать гет-запрос, чтобы получить инфу. А если ты её хочешь загрузить на сервер (обычные люди говорят "опубликовать") - нужно в общем случае делать пост.
|
|||
10
AnBlast
28.11.19
✎
17:01
|
(9) т.е. если я вижу в браузере - все ок. опубликовано...
а теперь надо из 1С ГЕТ-запросом по этому же адресу это забрать? типа ВыполнитьHTTPЗапрос(Адрес, "", "GET", ПарамОтвет); |
|||
11
Галахад
гуру
28.11.19
✎
17:04
|
Хм, а что делает ВыполнитьHTTPЗапрос?
|
|||
12
AnBlast
28.11.19
✎
17:09
|
(11) собственно выполняет разные запросы собственно.
там и Гет и Пут и Пост... Процедура ВыполнитьHTTPЗапрос(ПолныйАдресРесурса, ТекстЗапроса, ТипЗапроса, ПарамОтвет) Экспорт в конфе оно работает... просто никогда не делался двухсторонний обмен по запросу с той стороны. Раньше были только односторониие, но и из 1С на сайт и из сайта в 1С. |
|||
13
Галахад
гуру
28.11.19
✎
17:16
|
Ну ок. Работает и ладно.
|
|||
14
AnBlast
28.11.19
✎
17:49
|
(13) Спсибо ))
Дело было в заголовках. Я тупо скопипастил процедуру, а там настройки под старый сайт. Ну и лажа ессно. Убрал установку заголовков - все прочиталось GEМом. |
|||
15
Галахад
гуру
28.11.19
✎
17:50
|
Всегда приятно помочь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |