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

Отладка HTTP-запроса через УИ_._От

Сценарий. В коде 1С выполняется HTTP-запрос к внешнему API, но ответ приходит неожиданный. Нужно перехватить запрос, увидеть реальные заголовки, тело запроса и ответ сервера — без изменения кода и без остановки отладчика.

Шаг 1. Написать HTTP-запрос в коде

Процедура ОтправитьДанныеВСервис()

СоединениеHTTP = Новый HTTPСоединение("api.example.com", 443,,,, 30, Новый ЗащищенноеСоединениеOpenSSL());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", "Bearer eyJhbGciOiJIUzI1NiIs...");

HTTPЗапрос = Новый HTTPЗапрос("/v1/orders", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(
"{""customer"": ""12345"", ""amount"": 1500}",
КодировкаТекста.UTF8
);

Ответ = СоединениеHTTP.ВызватьHTTPМетод("POST", HTTPЗапрос);

Если Ответ.КодСостояния = 200 Тогда
Сообщить("Успешно: " + Ответ.ПолучитьТелоКакСтроку());
Иначе
Сообщить("Ошибка: " + Ответ.КодСостояния);
КонецЕсли;

КонецПроцедуры

Шаг 2. Добавить отладку

Достаточно добавить одну строку перед выполнением запроса — вызов УИ_._От с объектом HTTPЗапрос и соединением:

Процедура ОтправитьДанныеВСервис()

СоединениеHTTP = Новый HTTPСоединение("api.example.com", 443,,,, 30, Новый ЗащищенноеСоединениеOpenSSL());
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", "Bearer eyJhbGciOiJIUzI1NiIs...");

HTTPЗапрос = Новый HTTPЗапрос("/v1/orders", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(
"{""customer"": ""12345"", ""amount"": 1500}",
КодировкаТекста.UTF8
);

// Перехватить запрос для отладки
УИ_._От(HTTPЗапрос, СоединениеHTTP, "Создание заказа в API");

Ответ = СоединениеHTTP.ВызватьHTTPМетод("POST", HTTPЗапрос);

// ...
подсказка

Порядок параметров в УИ_._От, начиная со второго, произвольный — можно передать HTTPСоединение и строку комментария в любом порядке. Система сама определит типы объектов.

Шаг 3. Открыть данные в тонком клиенте

После выполнения кода откройте форму Данные для отладки через меню Универсальные инструменты → Данные для отладки. Найдите запись с комментарием «Создание заказа в API».

Шаг 4. Просмотр результата

В открывшейся форме доступны:

  • URL — полный адрес ресурса с учётом query-параметров
  • Метод — HTTP-метод (GET, POST, PUT и т.д.)
  • Заголовки запроса — все переданные заголовки
  • Тело запроса — содержимое запроса (строка, JSON, двоичные данные)
  • Заголовки ответа — заголовки, полученные от сервера
  • Тело ответа — содержимое ответа сервера
  • Код состояния — HTTP-статус ответа
  • Длительность — время выполнения запроса

Дополнительные сценарии

Отладка без соединения

Если нужно увидеть только структуру запроса (заголовки и тело) без выполнения:

УИ_._От(HTTPЗапрос, "Проверка структуры запроса");

Сохранение данных отладки в файлы

Используйте УИ_._ОтФ для сохранения данных не в справочник, а в файлы на сервере:

УИ_._ОтФ(HTTPЗапрос, СоединениеHTTP, "Диагностика интеграции");

Открытие консоли HTTP напрямую

Если вы уже находитесь в отладчике и хотите открыть консоль HTTP с произвольными данными:

УИ_._От(HTTPЗапрос);

На толстом клиенте консоль HTTP-запросов откроется сразу с заполненными данными. На тонком или веб-клиенте данные сохранятся в справочник для последующего просмотра.

Связанные разделы