Web services: Как привести одно значение к другому?
☑
0
ZUM
17.10.11
✎
09:25
Есть веб-сервис в который передается параметры типа "Документ"
Пакеты XDTO схожи в базе источника и в базе приемника.
Создан xdtoОбъект на основе локального пакета. Подскажите как конвертировать локальный объект в объект веб- сервиса?
Прокси = WSСсылки.wsСсылка.СоздатьWSПрокси(АдресWEB_Service,"ЗапросНоменклатуры","ЗапросНоменклатурыSoap");
wsТипДок = Прокси.ФабрикаXDTO.Тип(webURI,"Документ");
locТипДок = ФабрикаXDTO.Создать("Документ");
1
Широкий
17.10.11
✎
09:34
Схожи или в точности такая же структура?
2
ZUM
17.10.11
✎
09:35
(1) Обсолютно такая же. Конфа одна и таже.
3
ZUM
17.10.11
✎
10:05
Пробовал так:
Прокси.ФабрикаXDTO.Привести(wsТипДок,locТипДок);
Ругается:
Несоответствие типов (параметр номер '1')
4
ZUM
17.10.11
✎
11:17
Сделал криво : :( Вроде работает но не айс.
Охота все-таки оптимально сделать.
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла);
ЗаписьXML.ЗаписатьОбъявлениеXML();
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, locДокумент);
ЗаписьXML.Закрыть();
ОбъектXML = Новый ЧтениеXML;
ОбъектXML.ОткрытьФайл(ИмяВременногоФайла);
wsДокумент = ФабрикаXDTO.ПрочитатьXML(ОбъектXML);
5
Asmody
17.10.11
✎
11:54
(4) зачем тебе файл? ЧтениеXML и ЗаписьXML прекрасно работают со строкой
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
...
СтрокаXML = ЗаписьXML.Закрыть();
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
...
6
Asmody
17.10.11
✎
11:58
ещё можно попробовать через СериализаторXDTO (сам не пробовал)
СериализаторXDTO = Новый СериализаторXDTO(Прокси.ФабрикаXDTO);
ОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(locДокумент);
7
ZUM
17.10.11
✎
12:29
(5,6) Спасибо щас попробую.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн