Здравствуйте.
Пытаюсь отправить запрос.
Вот код:
Запрос доходит до адресата. В теле запроса передаётся xml. Но есть проблема.
До адресата доходит только: <?xml version
В чём может быть проблема?
Пытаюсь отправить запрос.
Вот код:
АдресРесурса = "95.181.65.555:222/main";
ХМЛВзаиморасчеты = ТЗВзаиморасчеты();
HTTP = Новый HTTPСоединение(,,,,,,);
ИмяФайлаОтвета = ПолучитьИмяВременногоФайла();
ИмяФайлаЗапроса = ПолучитьИмяВременногоФайла();
СтрокаЗапроса = "func=setbillingstatus&auth_login=login&auth_pass=test&xml=" +ХМЛВзаиморасчеты;
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
ТекПоток = Новый ЗаписьТекста(ИмяФайлаЗапроса, КодировкаТекста.UTF8);
ТекПоток.Записать(СтрокаЗапроса);
ТекПоток.Закрыть();
Попытка
HTTP.ОтправитьДляОбработки(ИмяФайлаЗапроса, АдресРесурса, ИмяФайлаОтвета, Заголовки);
Исключение
ЗаписьЖурналаРегистрации("Загрузка данных аккаунта", УровеньЖурналаРегистрации.Ошибка, , ,"Ошибка: " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат;
КонецПопытки;
ТекПоток = Новый ЧтениеТекста(ИмяФайлаОтвета);
ОтветСервера = ТекПоток.Прочитать();
ТекПоток.Закрыть();
УдалитьФайлы(ИмяФайлаЗапроса);
УдалитьФайлы(ИмяФайлаОтвета);
ПоказатьЗапрос доходит до адресата. В теле запроса передаётся xml. Но есть проблема.
До адресата доходит только: <?xml version
В чём может быть проблема?
По теме из базы знаний
- Передача файлов и данных на веб-сервер средствами 1С:Предприятие 8.X методом POST
- HTTP POST запрос к УТМ системы ЕГАИС
- HTTP Сервисы: Путь к своему сервису. Часть 4
- Использование объекта "HTTPСоединение" для отправки и получения SMS сообщений через модем Huawei с прошивкой HiLink (Возможности на 8.3.11.3034)
- Взаимодействие мобильного приложения 1С и центральной информационной базы с использованием http-сервиса
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) TODD22,
Я отправляю на обработку xml-ку вот таким образом. Через HTTPЗапрос.
xml большого размера без проблем передаются.
Ниже рабочий код отправки пост'а.
Я отправляю на обработку xml-ку вот таким образом. Через HTTPЗапрос.
xml большого размера без проблем передаются.
Ниже рабочий код отправки пост'а.
Функция ВыполнитьHTTPОбработкуНаСервер(HTTPСоединение, ТекстЗапроса, Заголовки, ТелоЗапроса = "")
HTTPЗапрос = Новый HTTPЗапрос(ТекстЗапроса, Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса, "UTF-8");
Попытка
HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Если HTTPОтвет.КодСостояния = 401 Тогда
// Скорее всего ошибка авторизации
Возврат "Ошибка авторизации.";
КонецЕсли;
Возврат HTTPОтвет;
Исключение
// Может быть если нет доступа к серверу или указан корректный адрес подключения
ВызватьИсключение ОписаниеОшибки();
КонецПопытки;
КонецФункции // ВыполнитьHTTPОбработкуНаСервер
Показать
(2) dj_serega, А можно весь код? С инициализацией HTTPСоединения и формированием тела запроса.
А то у меня запрос то доходит. Где то в формирование тела проблема....
На принимающей стороне отладчиком смотрят кусок от xml до них доходит. Но дальше парсер считывает содержимое из поле xml до: <?xml version
И падает с ошибкой.
А то у меня запрос то доходит. Где то в формирование тела проблема....
На принимающей стороне отладчиком смотрят кусок от xml до них доходит. Но дальше парсер считывает содержимое из поле xml до: <?xml version
И падает с ошибкой.
(5) TODD22,
В приемнике ожидается 4 параметра.
В приемнике ожидается 4 параметра.
HTTPСоединение = Новый HTTPСоединение( ОбщиеПроцедурыСервер.ПолучитьЗначение("HTTPСервер", Истина),
ОбщиеПроцедурыСервер.ПолучитьЗначение("HTTPПорт", Истина),
ОбщиеПроцедурыСервер.ПолучитьЗначение("HTTPЛогин", Истина),
ОбщиеПроцедурыСервер.ПолучитьЗначение("HTTPПароль", Истина));
ПрефиксЗапроса = ОбщиеПроцедурыСервер.ПолучитьЗначение("HTTPАдрес", Истина);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-type", "text/plain; charset=" + "UTF-8");
Заголовки.Вставить("Version", ОбщиеПроцедурыСервер.ПолучитьЗначение("Version"));
ТекстЗапроса = ПрефиксЗапроса // Адрес БД
+ "/" + ПризнакДействия // Строка - параметр 1
+ "/" + ТипОбработки // Строка - параметр 2
+ "/" + HTTPОбщиеПроцедуры.ВернутьXMLСтроку(глПолучитьЗначение("ТекущийСотрудник")) // Строка - параметр 3
+ "/" + "Дозагрузка"; // Строка - параметр 4
// ДополнительныеДанные = Тут xml
HTTPОтвет = ВыполнитьHTTPОбработкуНаСервер(HTTPСоединение, ТекстЗапроса, Заголовки, ДополнительныеДанные);
ПоказатьЗаголовки.Вставить("Content-type", "application/xml");
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот