Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

https запрос и сваггер

https запрос и сваггер
Я
   gosn1ck
 
23.01.18 - 12:54
Добрый день.
дали ссылку на сваггер, в котором можно воспроизвести http запросы к сервису, см скрины

[url=https://radikal.ru][img]https://a.radikal.ru/a11/1801/ef/99b5b72f9154.png[/img][/url]
[url=https://radikal.ru][img]https://a.radikal.ru/a14/1801/29/659d8acb4259.png[/img][/url]

а как это воспроизвести на 1с? делаю так но получаю ошибку
Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет:   Failure when receiving data from the peer

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Запрос = HTTPЗапросКСервисуБиллинга();
    Соединение = HTTPСоединениеБиллинга();
    
    Попытка
        Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Исключение
        ЗарегистрироватьОшибкуСервиса(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
    Если Ответ.КодСостояния <> 200 Тогда
        ЗарегистрироватьОшибкуСервиса("Ошибка");
        Возврат;
    КонецЕсли;
    
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(ТелоОтвета);
    СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();    
    
КонецПроцедуры

Функция HTTPЗапросКСервисуБиллинга()
    
    ТекстЗапроса = "/api/Auth/";    

    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json");
    Заголовки.Вставить("Accept", "application/json");
    
    Запрос = Новый HTTPЗапрос(ТекстЗапроса, Заголовки);
    
    СтруктураЗапроса = Новый Структура;
    СтруктураЗапроса.Вставить("login", "ХХХ");
    СтруктураЗапроса.Вставить("PasswordMd5", "ХХХ");
    СтруктураЗапроса.Вставить("Role", "ХХХ");
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, СтруктураЗапроса);
    
    ТекстJSON = ЗаписьJSON.Закрыть();
    
    Запрос.УстановитьТелоИзСтроки(ТекстJSON);    
    
    Возврат Запрос;
    
КонецФункции

Функция HTTPСоединениеБиллинга()
    
    АдресСервера = "ХХХ.ru";    
    Таймаут = 10;
    
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(, Новый СертификатыУдостоверяющихЦентровОС);
    Возврат Новый HTTPСоединение(АдресСервера, 444, , , , Таймаут, ЗащищенноеСоединение);
    
КонецФункции

что я делаю не так?
 
 
   Вафель
 
1 - 23.01.18 - 13:00
попробуй просто
 ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL()
   gosn1ck
 
2 - 23.01.18 - 13:38
не помогло, пробовал так уже
   sitex
 
3 - 23.01.18 - 14:19
(0) Сложно сказать что у тебя не так. Может у тебя тело для отправки там и не в JSON вообще. Пробуй winhttp.winhttprequest возможно он по может.
   Lexey_
 
4 - 23.01.18 - 14:27
(0) попробуй Content-type application/x-www-form-urlencoded
   gosn1ck
 
5 - 23.01.18 - 15:43
нашел утилиту postman, в ней сделал вот так https://b.radikal.ru/b23/1801/8e/f71e2ea472f3.png и получил положительный ответ.
в заголовках только
Заголовки.Вставить("Content-Type", "application/json");

что меня тут напрягло, в утилите нужно снять галку SSL certificate validation. может быть в сертификате дело?
   gosn1ck
 
6 - 23.01.18 - 18:15
дело оказалось в проксе, код выше рабочий

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует