Вход | Регистрация


Вопрос по сериализации.

Вопрос по сериализации.
Я
   lanc2233
 
08.03.18 - 16:47
Разбираюсь как обмениваться данными между приложениями через сериализацию. Возникла сложность, которую не могу сам разобрать.

Есть два приложения : сервер и клиент (мобильный).
На сервере код :
Функция Сериализовать(ОбъектСериализации) Экспорт 
    ДеревоВОбъектеXDTO = СериализаторXDTO.ЗаписатьXDTO(ОбъектСериализации); 
    МойXML = Новый ЗаписьXML; 
    МойXML.УстановитьСтроку();
    ФабрикаXDTO.ЗаписатьXML(МойXML, ДеревоВОбъектеXDTO);
    ТекстМЛ = МойXML.Закрыть(); 
    Возврат ТекстМЛ;
КонецФункции

тДок = Новый ТаблицаЗначений;
    тДок.Колонки.Добавить("Приходная");
    
    ТекстЗапроса = 
    "ВЫБРАТЬ
    |    ПоступлениеТоваровИУслуг.Ссылка
    |ИЗ
    |    Документ.ПоступлениеТоваровИУслуг КАК ПоступлениеТоваровИУслуг"
    ;
    Запрос = Новый Запрос(ТекстЗапроса);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НовСтр = тДок.Добавить();
        НовСтр.Приходная = Выборка.Ссылка.ПолучитьОбъект();
    КонецЦикла;
    
    ТекстМЛ = Сериализовать(тДок);
    Сообщить(ТекстМЛ);
    
    тСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
    тЧтениеXML = Новый ЧтениеXML;
    тЧтениеXML.УстановитьСтроку(ТекстМЛ);    
    тСсылка = тСериализаторXDTO.ПрочитатьXML(тЧтениеXML); 

Нормально выполняется, в результате в отладчике получаю таблицу значений.

На клиенте :

ВСОпределение = Новый WSОпределения(Адрес); 
ВСервис = ВСОпределение.Сервисы.Получить("api_test","api_study");
ВТочкаВхода = ВСервис.ТочкиПодключения.Получить("api_studySoap"); 
ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить("GetIncomingDoc"); 
ВСПрокси = Новый WSПрокси(ВСОпределение, "api_test","api_study","api_studySoap");
Ответ = ВСПрокси.GetIncomingDoc(Неопределено);
    
Сообщить(Ответ);
    
тСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
тЧтениеXML = Новый ЧтениеXML;
тЧтениеXML.УстановитьСтроку(Ответ);    
тСсылка = тСериализаторXDTO.ПрочитатьXML(тЧтениеXML);

На последней строке : Ошибка преобразования данных XDTO: ...

Текст xml в первом и втором случае одинаковый. (Там два документа, файл не большой)

http://my-files.ru/l17uxh

Прокомментируйте, что не так ..
 
 
   Эверест
 
1 - 08.03.18 - 16:56
Фабрика должна быть не твоей конфигурации, а взятая из сервиса.
   lanc2233
 
2 - 08.03.18 - 17:05
Спасибо
   lanc2233
 
3 - 08.03.18 - 17:30
Изменил на клиенте :

тСериализаторXDTO = Новый СериализаторXDTO(ВСПрокси.ФабрикаXDTO);
    тЧтениеXML = Новый ЧтениеXML;
    тЧтениеXML.УстановитьСтроку(Ответ);    
    тСсылка = тСериализаторXDTO.ПрочитатьXML(тЧтениеXML);

То-же самое.
   h-sp
 
4 - 08.03.18 - 18:50
(3) он и в браузере не открывается. сам файл глючный

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует