|   |   | 
| 
 | 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 данные в теле запроса)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |