Пробую отправить его стандартными средствами 1С, но получаю ошибку:
{МодульУправляемогоПриложения(90)}: Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
по причине: Ошибка работы с Интернет: Server returned nothing (no headers, no data)
Что здесь не так? Может быть, неправильно прикручено тело запроса?
SSL = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Новый СертификатыУдостоверяющихЦентровОС());
Соединение = Новый HTTPСоединение("data.mongodb-api.com", 443,,,,, SSL);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Access-Control-Request-Headers", "*");
Заголовки.Вставить("api-key", "MY_UNIQUE_API_KEY");
Данные = Новый Структура();
Данные.Вставить("collection", "myCollection");
Данные.Вставить("database", "1c");
Данные.Вставить("dataSource", "Cluster7");
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Данные);
ТелоЗапроса = ЗаписьJSON.Закрыть();
Запрос = Новый HTTPЗапрос("/app/endpoint/data/v1/action/findOne", Заголовки);
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);
Сообщить(Ответ.ПолучитьТелоКакСтроку());
(4) Вообще, без "Access-Control-Request-Headers: *" в curl запрос отрабатывает нормально. Просто этот заголовок был предусмотрен регламентом API. Версия платформы 1С:Предприятие 8.3 (8.3.20.2180), конфигурация Управление торговлей, редакция 11 (11.4.14.181). По поводу прокси и файрвола не могу сказать точно (поскольку подключаюсь к облачной базе провайдера по rdp), но, по крайней мере, обмен из 1С с другими внешними сервисами (ЭДО, EDI, AkiTorg) работает.
(7) Да, примерно так. Сервер 1С находится в сети провайдера, а запрос тестирую через web-форму на https://reqbin.com. Просто сейчас не могу выгрузить базу из облака к себе для тестирования, поскольку моя локальная платформа слетела после 15.11.2022 ("Вы стали жертвой подделки ПО").