POST-запрос к HTTP-серверу

stawen 111 2 1 1

POST-запрос к HTTP-серверу

ЗаписьXML=Новый ЗаписьXML(); 
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
Фабрика.ЗаписатьXML(ЗаписьXML, КонтрагентXDTO);//объект XDTO создан и заполнен ранее 

Заголовки=Новый Соответствие();
Заголовки.Вставить("Content-Type","application/xml");
Заголовки.Вставить("Accept","application/xml");

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса="clients/add";
Запрос.Заголовки=Заголовки;
Запрос.УстановитьТелоИзСтроки(ЗаписьXML.Закрыть());

Соединение=Новый HTTPСоединение("api.yourserver.ru");//таким образом полный URL запроса http://api.yourserver.ru/clients/add
Ответ=Соединение.ОтправитьДляОбработки(Запрос);
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();
Если КодСостояния=201 тогда
	ЧтениеXML=Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаОтвета);
	Попытка
		СтатусРаботыXDTO=Фабрика.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип("http://api.yourserver.ru/xdto","Status"));
	Исключение
		Сообщить(СформироватьСообщениеОбОшибке(ИнформацияОбОшибке()));
		Предупреждение("Сервер прислал плохие данные!");
		Возврат;
	КонецПопытки;
	//обработка объекта XDTO
Иначе
	//обработка ошибочных кодов
КонецЕсли;
1
{23} Переменной СтатусРаботыXDTO присвоено значение, но оно нигде не используется
Орфографическая ошибка в yourserver: yourserver
Описание дублирует название. Удалите описание, если информации в заголовке достаточно.

Комментарии

Азат
#1, 05 сентября 2021 05:31

Немного не так.
Сначала надо выяснить в каком формате принимает данные и в каком формате дает ответ. если действительно формат обмена xml, а не JSON то тогда код подходит.


См. также

GET-запрос к HTTP-серверу

Проверка запроса на пустоту

Выгрузка Таблицы значений в Объект Таблица Значений на форме обработки (для передачи сервер - клиент)

Запрос 1С

Предупреждение на сервере

ПерейтиНаВерсиюСервер (БСП)

ДоменРасположенияСерверовИПП (БСП)

ПриСозданииНаСервереПользователя (БСП)

ПриЗагрузкеВариантаНаСервере (БСП)

Модератору