|
Вопрос по сериализации. | ☑ | ||
---|---|---|---|---|
0
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
|
Фабрика должна быть не твоей конфигурации, а взятая из сервиса.
|
|||
2
lanc2233
08.03.18
✎
17:05
|
Спасибо
|
|||
3
lanc2233
08.03.18
✎
17:30
|
Изменил на клиенте :
тСериализаторXDTO = Новый СериализаторXDTO(ВСПрокси.ФабрикаXDTO); тЧтениеXML = Новый ЧтениеXML; тЧтениеXML.УстановитьСтроку(Ответ); тСсылка = тСериализаторXDTO.ПрочитатьXML(тЧтениеXML); То-же самое. |
|||
4
h-sp
08.03.18
✎
18:50
|
(3) он и в браузере не открывается. сам файл глючный
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |