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

1С:Предприятие ::

Метки: 

XDTO, абстрактный тип

Я
   markers
 
04.07.18 - 18:57
Доброго времени суток!
Пишу взаимодействие с API BroadSoft BroadWorks (Облачная АТС Билайн, Автосекретарь МТС и пр.), в данном виде взаимодействия, инициатором события выступает BroadWorks, а 1С у меня принимает через HTTP сервис от BroadWorks данные в формате XML и всё бы хорошо, есть схемы, я её даже загрузил в 1С, пишу следующий код:
   ЧтениеXML = Новый ЧтениеXML;

   ЧтениеXML.УстановитьСтроку(ТелоСтрокой);
        
   ТипСобытия = ФабрикаXDTO.Тип("http://schema.broadsoft.com/xsi";, "Event");
   Событие = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипСобытия);
И получаю ошибку "Попытка создания объекта абстрактного типа", дело в том, что свойство Event имеет тип BaseEvent который является абстрактным. Не страшно - подумал я, и поменял тип Event на нужный мне который всегда один в моём случае, но возникла проблема уже в типе "EventData" который так-же является абстрактным и там уже нельзя намеренно ограничить тип, так как там будут разные типы и они будут нужны.
Пример XML: https://yadi.sk/d/cnb1z9743YmTW6
Схемы: https://yadi.sk/d/Q4rMnJ3C3YmU6z
Собственно задача, как загрузить данную XML с абстрактными типами?
Заранее спасибо!
 
  Рекламное место пустует
   markers
 
1 - 16.07.18 - 06:30
Собственно сам и разобрался, ошибка моя была в том что я встроил схему в базу, чего делать вовсе не нужно было и простой код:
   ЧтениеXML = Новый ЧтениеXML;
   ЧтениеXML.УстановитьСтроку(ТелоСтрокой);
   Событие = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
спокойно загружает данные.
Правда всё-равно кривовато загружает эту схему (потерял некоторые нужные данные, и нет информации о типе объекта, которая необходима так как является важной состовляющей) и всё-равно пришлось парсить через ПостроительDOM, но на более простых схемах, можно обойтись и таким способом.
Спасибо за ответы, простите за поднятие мути со дна!
Всех благ!


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