|
POST-запрос в 1С | ☑ | ||
---|---|---|---|---|
0
vsg-work
22.02.21
✎
10:02
|
Здравствуйте, уважаемые коллеги. Впервые сталкиваюсь с такой задачей. Нужно получить xml файл с сервера. (кратко о задаче - интеграция 1С сервисом заказов клиентов). Нужно забирать xml файл регламентным заданием, считывать с него данные, и создавать заказы в 1С.
Внешней обработкой пишу следующий код: HTTP = Новый HTTPСоединение("____url адрес сервера ____",,"salesdir","2020",,); ФайлЗапроса = ПолучитьИмяВременногоФайла(); ТекстовыйФайл = Новый ТекстовыйДокумент; ТекстовыйФайл.УстановитьТекст(""); ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.ANSI); ФайлОтправки = Новый Файл(ФайлЗапроса); РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер()); ФайлРезультата = ПолучитьИмяВременногоФайла(); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки); ЗаголовокHTTP.Вставить("Content-Type", "application/json; charset=utf-8"); HTTP.ОтправитьДляОбработки(ФайлЗапроса, "/b/es/porting+imp$product_price", ФайлРезультата, ЗаголовокHTTP); ТекстовыйФайлОтвет = Новый ТекстовыйДокумент; ТекстовыйФайлОтвет.Прочитать(ФайлРезультата,КодировкаТекста.UTF8); СтрокаОтветСервера = ТекстовыйФайлОтвет.ПолучитьТекст(); УдалитьФайлы(ФайлРезультата); У меня сервер возвращает следующий ответ: <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.16.1</center> </body> </html> Хотя, консультант системы заказов говорит, что должен возвращаться XML-файл. |
|||
1
vsg-work
22.02.21
✎
10:02
|
Подскажите, как быть, почему возвращает HTML-страницу, или это ответ сервера просто?
|
|||
2
чувак
22.02.21
✎
10:04
|
(1) Вроде пишет ошибку 301
|
|||
3
J_B
22.02.21
✎
10:10
|
Для начала проверить, возможно там https и нужно ЗащищенноеСоединение
|
|||
4
vsg-work
22.02.21
✎
10:11
|
(3) Да, там HTTPS.
|
|||
5
vsg-work
22.02.21
✎
10:15
|
(3) Сделал защищенное соединение. Теперь такой ответ от сервера:
<?xml version="1.0" encoding="utf-8"?> <Root> <error>ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00229: input source is empty</error> </Root> |
|||
6
J_B
22.02.21
✎
10:15
|
(4) тогда эту строчку править надо
HTTP = Новый HTTPСоединение(... |
|||
7
vsg-work
22.02.21
✎
10:15
|
(6) <Root>
<error>ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00229: input source is empty</error> </Root> Ответ от сервера |
|||
8
vsg-work
22.02.21
✎
10:16
|
<?xml version="1.0" encoding="utf-8"?>
<Root> <error>ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00229: input source is empty</error> </Root> |
|||
9
J_B
22.02.21
✎
10:18
|
(5) тут уже курить документацию от сайта. Скорее всего, он ждет определенные параметры в теле запроса.
|
|||
10
Kassern
22.02.21
✎
10:27
|
(0) отправляешь в заголовках json, заказчик про xml говорит, а на практике шлешь пустышку для обработки. Вы уверены что сервис обрабатывает корректно пустые файлы? Потом выяснится в документации, что надо слать xml/json данные в теле запроса)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |