Ответ веб-службы частично преобразовывается в объект С#
От: znepok Россия  
Дата: 26.03.12 06:53
Оценка:
День добрый!

Хочу подключить к проекту ссылку на веб-службу 1С.
Сначала подключил ее как Service Reference. Классы типов объектов успешно сформировались.
Как только делаю запрос к 1С, мне вываливается исключение, что ответ формата text/html, а ожидается application/soap+xml и ниже выводятся первые 1024 байта ответа, в которых я вижу правильные данные и в правильном xml формате.

Подключил службу как Web Reference. Все работает, но ...
Если из 1С возвращается комплексный тип (например структура), то все отлично преобразовывается к строго-типизированному объекту (который был сгенерирован по WSDL-схеме)
Если 1С возвращает структуру, внутри которой вложены другие комплексные типы (например та же структура), то преобразовывается только самый верхний уровень.
Т.е. 1С возвращает:
Struct
    -> property
         -> Struct
             -> property
             ...
А преобразовывается только первый Struct в объект c#, а свойство propery содержит в себе XmlNode с XML вида <Struct ...><Property ...>...

Как сделать, чтобы преобразование шло по всем уровням, чтобы я мог работать с результатом так:
Struct s = (Struct)result.Property;
s.Property ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.