Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> отправка xml на веб сервер          
duh_si Подменю пользователя
сообщение 29.07.19, 9:18
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Доброго времени суток.
проблема с отправкой xml файла на сервер
пытался так:

//Входные данные
    АдресСервиса = "training.atrucks.su"; //Адрес сервиса,
    АдресРесурса = "https://training.atrucks.su/api/v3/customer/create_order"; //Адрес по которому располагается ресурс api,
    ЗаказXML = "C:\Users\Desktop\atrucks-order\trucks_order_200619042.xml"; //Путь к файлу
    //создания заказа который необходимо передать  
                                    
    Boundary = "----" + "123e4567-e89b-12d3-a456-426655440000";//  УникальныйИдентификатор
    ФайлОтправки = СоздатьОбъект("Текст");
    //  //ФайлОтправки.ДобавитьСтроку(ИмяФайлаОтправки);

    //Массив для хранения и формирования файла который будет отправлен
    ТекстДляОтправки = "";
    ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary+РазделительСтрок;
    //Параметр auth_key
    ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""auth_key""" + РазделительСтрок + РазделительСтрок;
    ТекстДляОтправки = ТекстДляОтправки + "I1F2HLcMHXebw9coyR4Bcu33ekez0gUv8Vjia8JvcKpDR" + РазделительСтрок;
    ТекстДляОтправки = ТекстДляОтправки + "--"+ Boundary + РазделительСтрок;
    ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""file""; filename=""trucks_order_200619042.xml""" + РазделительСтрок;
    ТекстДляОтправки = ТекстДляОтправки + "Content-Type: application/xml" + РазделительСтрок + РазделительСтрок;
    
    РазобратьФайл=СоздатьОбъект("Текст");
    РазобратьФайл.Открыть(ЗаказXML);
    Для стр=1 по РазобратьФайл.КоличествоСтрок() Цикл      
        ТекстДляОтправки = ТекстДляОтправки + РазобратьФайл.ПолучитьСтроку(стр);        
    КонецЦикла;
    
    ТекстДляОтправки = ТекстДляОтправки + РазделительСтрок;
    ТекстДляОтправки = ТекстДляОтправки+"--"+Boundary+"--";

    ФайлОтправки.ДобавитьСтроку(ТекстДляОтправки);
    ФайлОтправки.Записать(ЗаказXML);

///А дальше тупик с отправкой
    Попытка
        HTTPxml =  СоздатьОбъект("MSXML2.xmlHttp.4.0");
    Исключение    
        Сообщить("Не удалось инициализировать Microsoft XML");
        СтатусВозврата(0);
    КонецПопытки;
    
    Попытка
        HTTPxml.Open("POST","http://training.atrucks.su:443/api/v3/customer/create_order",0);
    Исключение  
        Сообщить("Не удалось подключиться к: ");
        Возврат "";
    КонецПопытки;
    
    HTTPxml.setRequestHeader("Content-Type", "multipart/form-data; boundary="+Boundary);
    HTTPxml.SetRequestHeader("Connection", "keep-alive");
    
    //HTTPxml.setRequestHeader("Content-Length", СтрДлина(ПараметрыПОСТ));
    
    Попытка
        HTTPxml.Send(ЗаказXML);
    Исключение
        Сообщить(ОписаниеОшибки());        
    КонецПопытки;    
    
    ОтветСервера = HTTPxml.responseText;

    Если HTTPxml.Status = 200 Тогда
      Сообщить(HTTPxml.ResponseText);
    Иначе
      Сообщить("HTTP " + HTTPxml.Status + " " + HTTPxml.StatusText);
      
    КонецЕсли;


Собственно вопрос, как правильно сформировать запрос и отправить файл xml?

duh_si Подменю пользователя
сообщение 04.09.19, 9:28
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

duh_si @ 29.07.19, 10:18 * ,
Доброго времени суток.
с отправкой запроса на сайт разобрался, все отправляет, но только на виндовс 7 и выше.
сейчас проблема с Виндовс ХР

Соединение = СоздатьОбъект("MSXML2.xmlHttp");//СоздатьОбъект("WinHttp.WinHttpRequest.5.1");

    Соединение.Open("POST",АдресРесурса, 0);
    Соединение.SetRequestHeader("Content-Type","multipart/form-data; boundary="+Boundary);
    Соединение.SetRequestHeader("Connection", "keep-alive");

    Попытка
        Соединение.Send(ДляОтправки);

        Ответ = Соединение.ResponseText();
        Статус = СокрЛП(Соединение.Status);
        Сообщить(Ответ +" "+ Статус);
        
    Исключение


при попытке отправки
Соединение.Send(ДляОтправки);
валиться с такой ошибкой
Ошибка: msxml3.dll: Системная ошибка: -2146697208.

в чем может быть причина?

duh_si @ Сегодня, 10:25 * ,

Сообщение отредактировал Vofka - 04.09.19, 10:12

Vofka Подменю пользователя
сообщение 04.09.19, 10:13
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

duh_si, возможно в 7 и выше библиотека версия msxml3.dll более новая.

Pepe Подменю пользователя
сообщение 05.09.19, 9:48
Сообщение #4

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

Цитата(Vofka @ 04.09.19, 11:13) *
возможно в 7 и выше библиотека версия msxml3.dll более новая.

Работает только с четвертым парсером.

duh_si Подменю пользователя
сообщение 10.09.19, 10:51
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Pepe @ 05.09.19, 10:48 * ,
устанавливал 4 парсер , без изменений. а предыдущие версии нужно разрегистрировать?

Pepe Подменю пользователя
сообщение 12.09.19, 9:31
Сообщение #6

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

Цитата(duh_si @ 10.09.19, 11:51) *
устанавливал 4 парсер , без изменений. а предыдущие версии нужно разрегистрировать?

Нет, не надо. Ошибка таже?

duh_si Подменю пользователя
сообщение 12.09.19, 9:48
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Pepe @ Сегодня, 10:31 * ,
да, такая ошибка

Pepe Подменю пользователя
сообщение 13.09.19, 9:55
Сообщение #8

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

duh_si, тогда ИМХО проблема в системе. Есть возможность проверить на другой оси?
Возможно не принимает сервер (возвращает ошибку).

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 20:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!