Помогите пожалуйста преобразовать ответ сервера в структуру. Интересует именно значение SKU_CreateUpdateResult.

```1c
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <SKU_CreateUpdateResponse xmlns="http://cowms.ru/service">
    <SKU_CreateUpdateResult>211895</SKU_CreateUpdateResult>
    <ErrorMessage />
    </SKU_CreateUpdateResponse>
    </soap:Body>
    </soap:Envelope>
```
---
Пришел к этому. Чувствую, что можно проще.

```1c
    ЧтениеXML = Новый ЧтениеXML();
    ЧтениеXML.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
    Фабрика = Новый ФабрикаXDTO();
    ОбъектXDTO = Фабрика.ПрочитатьXML(ЧтениеXML);
```
---
```1c
    &НаСервереБезКонтекста
    Функция ПрочитатьXMLВСтруктуру(Строка)

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(Строка);
    Результат = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("Структура"));
    ЧтениеXML.Закрыть();

    Возврат Результат;

    КонецФункции
```
---
ЧтениеXML = Новый ЧтениеXML;
 ЧтениеXML.УстановитьСтроку(Строка);
 Результат = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("Структура"));
 ЧтениеXML.Закрыть();

по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://schemas.xmlsoap.org/soap/envelope/}Envelope Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}Structure
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://schemas.xmlsoap.org/soap/envelope/}Body Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
---
Пришел к этому. Чувствую, что можно проще.

```1c
    ЧтениеXML = Новый ЧтениеXML();
    ЧтениеXML.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
    Фабрика = Новый ФабрикаXDTO();
    ОбъектXDTO = Фабрика.ПрочитатьXML(ЧтениеXML);
```
---
Куда уж проще.
---
В каком направлении чувствуете?
---
В плане того, что мб есть метод по которому можно задав SKU_CreateUpdateResult получить значение, не обращаясь напрямую
---
Вариант получить значение по реквизиту

```1c
    ЧтениеXML = Новый ЧтениеXML();
    ЧтениеXML.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
    ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
    ДокументДОМ.ПолучитьЭлементыПоИмени("SKU_CreateUpdateResult")[0].ТекстовоеСодержимое
```
---
Чета странное какое-то задание преобразования "ответа сервера в структуру". Вот есть у Вас сервер, на нем есть веб-сервис - SOAP. Вот вы создаете к нему подключение (надеюсь, пользуетесь стандартным механизмом платформы для "дергания" сервиса). В итоге у Вас должен какой-то такой код быть:

```1c
    Ответ = Сервис.ФункцияСервиса(Параметры);
```

Вот в переменной "Ответ" и так "Структура" (т.е. объект XDTO), который Вы "подсветили" как правильный ответ. Или опять велосипеды изобретаем и дергаем веб-сервис с помощью подножных COM-объектов? )))
---
Не знаком
---
https://infostart.ru/public/721872/ - вот неплохое пошаговое руководство о том, как дергать веб-сервисы из 1С.
Обработка результата
В рецепте 1 мы чаще всего получаем готовый XDTO-объект и работаем с ним как со структурой. Во всех остальных случаях можно преобразовывать xml-ответ в XDTO

```1c
    Если Результат.КодСостояния = 200 Тогда

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
    ОбъектОтвет = СвояФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
    Сообщить(ОбъектОтвет.Body.Response.RESPONSE_ID);
    Сообщить(ОбъектОтвет.Body.Response.RESPONSE_TEXT);

    КонецЕсли;
```

Тут все просто.
---
Ну я так и делал, 3 способ мой.
---
ну как бы смысл-то так делать, если все-равно нужен объект?
---
Так смысл в том, что мне надо дернуть данные из ответа с структурированном виде.
Например тут, как мне их вытащить. Тут уже Фабрика не работает:

Код<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <Income_GetFactResponse xmlns="http://cowms.ru/inbound">
            <Income_GetFactResult>2019-11-08T09:18:15.268238+03:00</Income_GetFactResult>
            <Income_Positions>
                <Income_Positions>
                    <IncomeRequest_PositionCode>02a94191-6804-4ef4-9360-cc3500068966-1</IncomeRequest_PositionCode>
                    <Sku_id>211895</Sku_id>
                    <Unit_id>784</Unit_id>
                    <StockType_id>0</StockType_id>
                    <Qty>20.000000</Qty>
                    <ClientOrder_PositionCode />
                    <Serial />
                    <Series />
                    <ExpDate>2999-12-31T00:00:00</ExpDate>
                </Income_Positions>
                <Income_Positions>
                    <IncomeRequest_PositionCode>02a94191-6804-4ef4-9360-cc3500068966-2</IncomeRequest_PositionCode>
                    <Sku_id>211917</Sku_id>
                    <Unit_id>784</Unit_id>
                    <StockType_id>0</StockType_id>
                    <Qty>3.000000</Qty>
                    <ClientOrder_PositionCode />
                    <Serial />
                    <Series />
                    <ExpDate>2999-12-31T00:00:00</ExpDate>
                </Income_Positions>
            </Income_Positions>
            <ErrorMessage />
        </Income_GetFactResponse>
    </soap:Body>
</soap:Envelope>Показать полностью
---
Такой ответ таким способом не обрабатывает. Есть идеи?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <Income_GetFactResponse xmlns="http://cowms.ru/inbound">
            <Income_GetFactResult>2019-11-08T09:18:15.268238+03:00</Income_GetFactResult>
            <Income_Positions>
                <Income_Positions>
                    <IncomeRequest_PositionCode>02a94191-6804-4ef4-9360-cc3500068966-1</IncomeRequest_PositionCode>
                    <Sku_id>211895</Sku_id>
                    <Unit_id>784</Unit_id>
                    <StockType_id>0</StockType_id>
                    <Qty>20.000000</Qty>
                    <ClientOrder_PositionCode />
                    <Serial />
                    <Series />
                    <ExpDate>2999-12-31T00:00:00</ExpDate>
                </Income_Positions>
                <Income_Positions>
                    <IncomeRequest_PositionCode>02a94191-6804-4ef4-9360-cc3500068966-2</IncomeRequest_PositionCode>
                    <Sku_id>211917</Sku_id>
                    <Unit_id>784</Unit_id>
                    <StockType_id>0</StockType_id>
                    <Qty>3.000000</Qty>
                    <ClientOrder_PositionCode />
                    <Serial />
                    <Series />
                    <ExpDate>2999-12-31T00:00:00</ExpDate>
                </Income_Positions>
            </Income_Positions>
            <ErrorMessage />
        </Income_GetFactResponse>
    </soap:Body>
</soap:Envelope>
---
Был не прав. Всё так же:

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

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

    Для Каждого Строка из ФактXDTO.Body.Income_GetFactResponse.Income_Positions.Income_Positions Цикл
    КонецЦикла;
```