|
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) Спасибо щас попробую.
|
|