Всем добрый день.
У меня есть вопрос. На данный момент пишу обработку взаимодействия с сервисом DHL через WS-ссылку. В идеале хочу добиться автогенерации XML с помощью ФабрикXDTO. Сложностей пока нет, кроме одного момента. Есть в дереве типов объектов элемент ShipmentOrderType который включает в себя:
1) sequenceNumber
2) PrintOnlyIfCodeable
3) labelResponseType
4) Shipment
Есть проблема с 4-ым. У него нет типа. И я не знаю как его определить методом ФабрикаXDTO.Создать(). Кодом писать в XML не хочу, так как у Shipment дальше идет большая вложенность. Есть ли знатоки сбора XML?
Там же очень просто.
надо через: Фабрика.ВладеющееСвойство.Тип
вернет тебе перечень его подчиненных типов
ОбъектChipmentOrder = ФабрикаXDTO.Создать(ChipmentOrderType.Тип);
Для каждого СвойствоChipment Из ОбъектChipmentOrder .Chipment.ВладеющееСвойство.Тип.Свойства Цикл
Там же очень просто.
надо через: Фабрика.ВладеющееСвойство.Тип
вернет тебе перечень его подчиненных типов
ОбъектChipmentOrder = ФабрикаXDTO.Создать(ChipmentOrderType.Тип);
Для каждого СвойствоChipment Из ОбъектChipmentOrder .Chipment.ВладеющееСвойство.Тип.Свойства Цикл
(2)
Спасибо за ответ! ShipmentOrder.Shipment возвращает неопределено, а ShipmentOrder.Shipment.ВладеющееСвойство() тоже не срабатывает. Но до меня дошло! Что можно через Тип объекта ShipmentOrder полдучить Свойства а в свойстве тип )))
Наверное, надо кому-нибудь рассказать чтобы до самого дошло. 3 дня вокруг этого свойства пляшу)
Спасибо еще раз.
// Выход на нужный тип через свойство.
СвойствоXDTO = ОбъектXDTOВладелец.Тип().Свойства.Получить("ИмяСвойства");
// Создание объекта.
ОбъектXDTO = ФабрикаXDTO.Создать(СвойствоXDTO.Тип);
, где ОбъектXDTOВладелец- созданный ОбъектXDTO через КорневыеСвойства, и т.д. по иерархии