Что не так с этим XML?
В результате подключения к веб-сервису SAP получаю следующий XML-файл, но 1с прочитатье его в фабрику ХDTO не может.
Файл получила в SOAPUL.
Ошибка 1с:
Ошибка при вызове метода контекста (ПрочитатьXML)
{ВнешняяОбработка.ПроверкаВэбСервисаОтветхранение.Форма.Форма.Форма(244)}: Данные = Прокси.ФабрикаXDTO.ПрочитатьXML(Чтение);
по причине:
Ошибка разбора XML: - [1,1]
Фатальная ошибка:
Document is empty

```1c
    Чтение = Новый ЧтениеXML;
    Чтение.УстановитьСтроку(ФайлXML);

    Прокси = ПолучитьДанныеОтветхранениеНаСервере();

    Данные = Прокси.ФабрикаXDTO.ПрочитатьXML(Чтение);
```

ФайлXML "C:\Users\savina.ikt\Documents\Severstal\МХ1_test.xml" Строка

Если делаю Чтение.ОткрытьФайл(ФайлXML);, то весь файл получаю одной строкой, а должна же получить в виде ХDTO реквизитов передаваемых этим файлом.
---
Что же всетаки не так?)Так вопрос о том, каким образом Вы этот файл получаете, не раскрыт. Правильные поцики получают как-то так:

```1c
    W = Новый WSОпределение(УрлТочкиВхода, какие-то-параметры типа таймаута и пароля);
    P = Новый WSПрокси(W, точкивхода и прочее);
    P.Пароль = "ххх";
    P.Логин = "ууу";
    XDTOОбъект = P.GetЧтоТоТамБлаБлаБла(Параметры);
```
После этого в переменной XDTOОбъект будет находится тот самый XML в виде объекта (типа XDTOОбъект.MX1.XML_FILE.XML_FILE <- здесь строка с этим ХМЛом, ну или как-то так). Дальше делайте с ним што хочите.
ЗЫ: На стороне САП дятлы походу, ибо XML не в виде пакета/объекта передают, а в виде строки. Видимо все, кто что-то в этом понимает, и правда свалили - один я остался )))
---
списокXDTOСписок XDTO - это список объектов. К нему можно или в цикле обратиться (для каждого Х из У), или по индексу (у[0]). Внутри нужные объекты. Просто в отладчике поглядите - все поймете откуда и что брать.
```1c
    СтрокаХМЛ = Ответ.MX1[0].XML_FILE.XML_FILE;
```
---
со стороны отправителяДа. Они посылают пакет, которые не соответствует описанию в WSDL-файле. Скорее всего они изменили пакет, прочитав про свой дебилизм, поэтому WSDL-файл надо обновить, ну или вызвать не так, как у Вас (из файла), а прямо с урла:

```1c
    //Определение = Новый WSОпределения(имяФайла, блаблабла);
    Определение = Новый WSОпределения(Урл, блаблабла);
```
Ну или если у Вас там нестандартный порт юзается, то нужно просто обновить WSDL-файл, поправив сцылки.
---
В виде XML-файлаОтветный вопрос - зачем? Сам по себе формат определяется в стандартах SOAP или HTTP. Если у Вас сервис возвращает ошибку, то проблема скорее всего не в пакете, который посылает 1С, но 1С не посылает ничего из того, что бы не описал автор запроса.

Посмотреть, конечно, можно, и много как. Есть все эти сканеры трафика, например. Только это вряд ли поможет, т.к. проблема именно в содержании файла, а не в формате. И сервер в общем-то должен давать четкий ответ, что не так.
---
```1c
    ФабрикаXDTO.ПрочитатьXML(Чтение);
```
---
Та же ошибка: Ошибка при вызове метода контекста (ПрочитатьXML)
{ВнешняяОбработка.ПроверкаВэбСервисаОтветхранение.Форма.Форма.Форма(245)}: Данные = ФабрикаXDTO.ПрочитатьXML(Чтение);
по причине:
Ошибка разбора XML: - [1,1]
Фатальная ошибка:
Document is empty

Если писать
```1c
    ФабрикаXDTO.ПрочитатьXML(Чтение);
```
 то как 1с определит структуру в которую нужно XML прочитать?
---
как 1с определит структуру в которую нужно XML прочитать?
какая в файле содержится структура, в ту и прочитает
---
Это ответ сервера с заголовками и прочим мусором, а не файл.
---
Да, в шапке файла ответ сервера, а ниже уже реквизиты документа нужные мне. В 1с-то я не смогла увидеть резутьтат ответа веб сервиса, этот файл получен в SOAPUL.

Даже если удалить шапку файла и оставить тело документа он тоже не читается. Ошибка та-же Document is empty.

Что же всетаки не так?)
---
1С ничего не знает про пространства имен и используемые типы значений в них, содержащиеся в файле, поэтому и не может ничего прочитать самостоятельно.
Более того, символы "<" заменены на "& # 60 ;"(без пробелов), их нужно обратно превратить.
---
Что же всетаки не такНа курсы сходить уже предлагали?

А, точно. Предлагали. Месяц назад, в https://forum.infostart.ru/forum15/topic300227/
---
На курсы сходить уже предлагали?Расскажите мне про курсы, на которых учат чему-то про SOAP. В моей статье про приложуху для мобилы за полчаса больше написано, чем в среднем на курсах про это рассказывают.
---
Расскажите мне про курсы,Если снять с себя любимые шоры одной цифры и одной буковки, и вспомнить, что это называется RPC, то тот же гугл открывает море возможностей.

Например https://ec-dpo.ru/povishenie-kvalifikatsii/informatsionnie-tehnologii/primenenie-soap-pri-integratsii-sistem

И внезапно пациент начинает понимать про XML, про пространства имен, про термнологию, про точки подключения... видит и осознает как это реализовано на 1С, какие структуры, описывающие протокол, что означают.

Но это не наш путь. Наш путь - зайти со стороны прикладного решения и мучаться даже в терминологии, не понимая принципов и желая чтобы всё сразу.
---
одной цифры и одной буковки, и вспомнить|А если вспомнить до конца, то совет пойти на курсы ни к чему не привел, при том совет был с цитатой кода 1С. А вот мои ответы приводят к результату. Отсюда как бы вопрос Ваших компетенций. Вы тут с целью самоутвердиться за чужой счет буквы пишите? Печально, что не можете самоутвердиться за собственный счет. Может тоже на курсы Вас послать?
---
совет был с цитатой кода 1СНу вот оно и есть, типичное нежелание 1Сника выбраться за границы своего уютненького и понять, как именно устроены те технологии, которые он пытается использовать.

(16) Печально, что не можете самоутвердитьБоженьки, какие же вы, 1Сники, восхитительно одинаковые, даже в своих обидах. Это у вас прямо в генетике прошивают, что-ли...
---
типичное нежелание 1Сника выбраться за границыНа себя поглядите, выбравщийся за границы и не имеющий возможности принести хоть какую-тор пользу. А про RPC я еще лет 20 писал назад, так что не ко мне вопросы. Тем более в винде это все сделано школьниками для школьников. При том сервис того же ЦБ 1С подтягивает через WSDL, в то время как для питона приходится юзать Doctor (если Вы вообще способны понять, о чем я тут).
---
Что же всетаки не так?)Так вопрос о том, каким образом Вы этот файл получаете, не раскрыт. Правильные поцики получают как-то так:

```1c
    W = Новый WSОпределение(УрлТочкиВхода, какие-то-параметры типа таймаута и пароля);
    P = Новый WSПрокси(W, точкивхода и прочее);
    P.Пароль = "ххх";
    P.Логин = "ууу";
    XDTOОбъект = P.GetЧтоТоТамБлаБлаБла(Параметры);
```
После этого в переменной XDTOОбъект будет находится тот самый XML в виде объекта (типа XDTOОбъект.MX1.XML_FILE.XML_FILE <- здесь строка с этим ХМЛом, ну или как-то так). Дальше делайте с ним што хочите.
ЗЫ: На стороне САП дятлы походу, ибо XML не в виде пакета/объекта передают, а в виде строки. Видимо все, кто что-то в этом понимает, и правда свалили - один я остался )))
---
так и получаю

```1c
    Определение = Новый WSОпределения("C:/Users/savina.ikt/Documents/Severstal/ws2/BC_SYS_CLNT_si_DataLoad_outb_syn­cService_2.wsdl", Пользователь, Пароль,,,ssl1);
    Прокси = Новый WSПрокси(Определение, "http://severstal.com/pi/O2C/1C", "si_DataLoad_outb_syncService", "HTTPS_Port",, , ssl1);

    ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://severstal.com/pi/O2C/1C").Получить("dt_DataLoad_MX1_req");

    WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
    WSПараметр.dummy = Формат(9002, "ЧГ=100");

    РезультатВебОперации = Прокси.MX1(WSПараметр);
```

РезультатВебОперации содержит МХ1 - списокXDTO - если он не пустой, то тоже не читается - ошибка чтенияXML. Поэтому пытаюсь загрузить ту XML, что получаю в SOAPUL.
---
списокXDTOСписок XDTO - это список объектов. К нему можно или в цикле обратиться (для каждого Х из У), или по индексу (у[0]). Внутри нужные объекты. Просто в отладчике поглядите - все поймете откуда и что брать.
```1c
    СтрокаХМЛ = Ответ.MX1[0].XML_FILE.XML_FILE;
```
---
В точке
```1c
    РезультатВебОперации = Прокси.MX1(WSПараметр);
```

 Ошибка при вызове метода контекста (MX1)
{ВнешняяОбработка.ПроверкаВэбСервисаОтветхранение.Форма.Форма.Форма(149)}: РезультатВебОперации = Прокси.MX1(WSПараметр);
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://severstal.com/pi/O2C/1C}:si_DataLoad_outb_syncService:MX1()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp - [1,253]
Проверка дополнительного свойства:
 форма: Элемент
 имя: MX1
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp - [1,253]
Проверка дополнительного свойства:
 форма: Элемент
 имя: MX1
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp

 Всетаки со стороны отправителя не читаемый XML отправляют? Не та кодировка если есть не читаемые символы?
---
со стороны отправителяДа. Они посылают пакет, которые не соответствует описанию в WSDL-файле. Скорее всего они изменили пакет, прочитав про свой дебилизм, поэтому WSDL-файл надо обновить, ну или вызвать не так, как у Вас (из файла), а прямо с урла:

```1c
    //Определение = Новый WSОпределения(имяФайла, блаблабла);
    Определение = Новый WSОпределения(Урл, блаблабла);
```
Ну или если у Вас там нестандартный порт юзается, то нужно просто обновить WSDL-файл, поправив сцылки.
---
Добрый день. Возможно ли в 1с посмотреть XML- запрос который 1с отправляет к веб-сервису? В виде XML-файла.
---
В виде XML-файлаОтветный вопрос - зачем? Сам по себе формат определяется в стандартах SOAP или HTTP. Если у Вас сервис возвращает ошибку, то проблема скорее всего не в пакете, который посылает 1С, но 1С не посылает ничего из того, что бы не описал автор запроса.

Посмотреть, конечно, можно, и много как. Есть все эти сканеры трафика, например. Только это вряд ли поможет, т.к. проблема именно в содержании файла, а не в формате. И сервер в общем-то должен давать четкий ответ, что не так.
---
Только это вряд ли поможет
"А вот мои ответы приводят к результату." (С) starik-2005
---
Простите за назойливость, может это и за гранью моего понимания, но....

В 1с сервис вроде бы работает, но несовсем. Если для передачи нет файлов, т.е. отправляют пустой ответ по запросу из 1с:

```1c
    РезультатВебОперации = Прокси.MX1(WSПараметр);
```

 То в результате веб операции - это ОбъектХДТО содержащий МХ1 - СписокХДТО но список пустой.
Если с сапа отправляют хмл документ, то в момен

```1c
    РезультатВебОперации = Прокси.MX1(WSПараметр);
```
 я получаю ошибку:
Ошибка при вызове метода контекста (MX1)
{ВнешняяОбработка.ПроверкаВэбСервисаОтветхранение.Форма.Форма.Форма(149)}: РезультатВебОперации = Прокси.MX1(WSПараметр);
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://severstal.com/pi/O2C/1C}:si_DataLoad_outb_syncService:MX1()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp - [1,253]
Проверка дополнительного свойства:
форма: Элемент
имя: MX1
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp - [1,253]
Проверка дополнительного свойства:
форма: Элемент
имя: MX1
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://severstal.com/pi/O2C/1C}dt_DataLoad_MX1_resp

Но в SOAPUL этот хмл в какой то корявой кодировке (см. фото). Специалисты сап тут ничем помочь не могут и просят хмл запрос который отпарвляет 1с к сап.

Вот что отвечают специалисты сап:

Внутри ответа сервиса содержится тестовое поле содержащие xml. Я не знаю что это за xml и не знаю его структуру данных.
Кодировка тут не причём.
А ошибка у вас скорее всего из за того что вы пытаетесь сопоставить вложенный текст с wsdl сервиса, это никогда работать не будет.
Вам надо достать текст и парсить его отдельно предварительно преобразовав его в xml.
Предлагаю с начала добиться корректной работы, а потом поговорим по поводу кодировки. Давайте есть слона постепенно.

Я не понимаю их ответ. Что я должна с этим делать если в 1с получить корректный ответ веб сервиса не могу. И где искать ошибку? В каком направлении смотреть?
---
Или здесь какье то сложное определение типа ответа веб сервиса которое не знаю я как получить. См фото.