Имя: Пароль:
1C
 
Ошибка преобразования данных XDTO: Тип свойства не соответствует типу значения
0 DTX 4th
 
21.06.17
13:18
Работаю с SharePoint через веб-сервисы, и всё было хорошо, пока не наткнулся на один сервер, который криво работает.
Т.е. я вызываю его метод, в фидлере видно, что ответ приходит, а платформа ругается и падает. Полные текст ошибки:

{ВнешняяОбработка.ВыгрузкаДокументовНаSP.МодульОбъекта(190)}: Ошибка при вызове метода контекста (GetGroupCollectionFromUser)
    Рез = Прокси.GetGroupCollectionFromUser(GetGroupCollectionFromUser);
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {http://schemas.microsoft.com/sharepoint/soap/directory/}:UserGroup:GetGroupCollectionFromUser()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUserResponse_GetGroupCollectionFromUserResult - [1,474]
Проверка дополнительного свойства:
    форма: Элемент
    имя: {http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUser
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUserResponse_GetGroupCollectionFromUserResult - [1,474]
Проверка дополнительного свойства:
    форма: Элемент
    имя: {http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUser
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUserResponse_GetGroupCollectionFromUserResult

по причине:
Несоответствие типов XDTO:
Тип '{http://www.w3.org/2001/XMLSchema}anyType' не соответствует типу '{http://schemas.microsoft.com/sharepoint/soap/directory/}GetGroupCollectionFromUser'
Тип свойства не соответствует типу значения


Помогите разобраться, в каком месте 1С не переваривает ответ.

Сам ответ:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema">;
    <soap:Body>
        <GetGroupCollectionFromUserResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/">;
            <GetGroupCollectionFromUserResult>
                <GetGroupCollectionFromUser>
                    <Groups>
                        <Group ID="435" Name="apps-members" Description="" OwnerID="12" OwnerIsUser="True" />
                        <Group ID="57" Name="client_00001 - участники" Description="Используйте эту группу для предоставления пользователям разрешений на размещение на следующем веб-узле SharePoint: client_00001" OwnerID="56" OwnerIsUser="False" />
                        <Group ID="311" Name="dev - посетители" Description="Используйте эту группу для предоставления пользователям разрешений на чтение на следующем сайте SharePoint: dev" OwnerID="4" OwnerIsUser="False" />
                        <Group ID="310" Name="dev - участники" Description="Используйте эту группу для предоставления пользователям разрешений на размещение на следующем сайте SharePoint: dev" OwnerID="4" OwnerIsUser="False" />
                    </Groups>
                </GetGroupCollectionFromUser>
            </GetGroupCollectionFromUserResult>
        </GetGroupCollectionFromUserResponse>
    </soap:Body>
</soap:Envelope>


Вот описание веб-сервиса:
https://pastebin.com/4KMd2NTC

На случай плохого форматирования вот ответ:
https://pastebin.com/q6AYqRzX
1 DTX 4th
 
21.06.17
13:57
Не пойму, как anyType может не соответствовать другому типу?
2 Рэйв
 
21.06.17
14:07
такое бывает когда структура приемника начинает отличаться от структуры источника.
3 DTX 4th
 
21.06.17
14:11
Разобрался.
http://i.imgur.com/AbqGp1w.png

Сервер суёт туда тип, который есть в описании схемы.
Т.е. заменить GetGroupCollectionFromUser на GetGroupCollectionFromUser2, то всё будет ОК.. Ну и подстава. Мб есть ссылка у кого на инструкцию, как эмулировать soap-запрос с помощью HTTPСоединения?