Ошиба при чтении XDTO, Тип свойства неопределен Квалифицированное имя

1. user646807_kazako.a911 14 03.11.23 17:32 Сейчас в теме
Добрый день!

Есть схема XDTO-пакета
У объекта "MessageData" есть свойство "Publisher", тип "anyType (http://www.w3.org/2001/XMLSchema)"
В ветке типы значений перечислены возможные значения "PublisherType" - "ForeignSystem", "Person"
В типах объектов определен тип "Publisher.ForeignSystem.v2"

На входе сообщение XML-строка
<MessageData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Id>1669982</Id>
  <Number>1669982</Number>
  <Publisher xsi:type="Publisher.ForeignSystem.v2">
    <Name>Включение сведений с использованием программно-аппаратного комплекса ЕФРСБ</Name>
  </Publisher>
  <MessageInfo MessageType="CompletionOfExtrajudicialBankruptcy">
    <CompletionOfExtrajudicialBankruptcy>
      <Text>Процедура внесудебного банкротства завершена.</Text>
      <StartOfExtrajudicialBankruptcyMessageNumber>1667116</StartO­fExtrajudicialBankruptcyMessageNumber>
    </CompletionOfExtrajudicialBankruptcy>
  </MessageInfo>
  <Bankrupt xsi:type="Bankrupt.Person.v2">
    <Category>
      
Код
SimplePerson
Показать полностью
<Description>Физическое лицо</Description> </Category> <Fio> <LastName>Кощеева</LastName> <FirstName>Наталья</FirstName> <MiddleName>Рауэльевна</MiddleName> </Fio> <Inn>662703502919</Inn> <Snils>02253405707</Snils> <Address>Свердловская область, г. Ревда, ул. Азина, дом 60,кв 18</Address> <Birthdate>08.09.1971</Birthdate> <Birthplace>гор. Ревда Свердловской обл.</Birthplace> <FioHistory> <Fio> <LastName>-</LastName> <FirstName>Шакирова</FirstName> <MiddleName>-</MiddleName> </Fio> </FioHistory> </Bankrupt> <PublishDate>2023-11-01T15:38:42.08</PublishDate> <BankruptId>140133</BankruptId> <MessageGUID>B52228B659D740FE8299A9006C523528</MessageGUID> </MessageData>
Показать


При чтении фабрикой XDTO

ЧтениеСообщенияXML = Новый ЧтениеXML;
		ЧтениеСообщенияXML.УстановитьСтроку(Тест);
		XDTOПакетСообщение = ФабрикаXDTO.ПрочитатьXML(ЧтениеСообщенияXML);


Выходит ошибка:
Проверка дополнительного свойства:
форма: Элемент
имя: Publisher
по причине:
Тип свойства неопределен
Квалифицированное имя типа: 'Publisher.ForeignSystem.v2'
по причине:
Ошибка отображения пространства имен
Отсутствует отображение для префикса: ''

по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.w3.org/2001/XMLSchema}anyType - [1,208]
Проверка дополнительного свойства:
форма: Элемент
имя: Publisher
по причине:
Тип свойства неопределен
Квалифицированное имя типа: 'Publisher.ForeignSystem.v2'
по причине:
Ошибка отображения пространства имен
Отсутствует отображение для префикса: ''

'' - это две одинарные кавычки
Почему не читает XML? Вроде определяют тип <Publisher xsi:type="Publisher.ForeignSystem.v2">
Найденные решения
2. ElGatoGris 04.11.23 10:53 Сейчас в теме
Есть схема XDTO-пакета

- где есть, как называется?
Похоже, не хватает выражения типа
xmlns=" ..."

в атрибутах корневого элемента.
Без этого тип всех элементов будет {http://www.w3.org/2001/XMLSchema}anyType
Также неясно где определён тип "Publisher.ForeignSystem.v2".
user646807_kazako.a911; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ElGatoGris 04.11.23 10:53 Сейчас в теме
Есть схема XDTO-пакета

- где есть, как называется?
Похоже, не хватает выражения типа
xmlns=" ..."

в атрибутах корневого элемента.
Без этого тип всех элементов будет {http://www.w3.org/2001/XMLSchema}anyType
Также неясно где определён тип "Publisher.ForeignSystem.v2".
user646807_kazako.a911; +1 Ответить
3. user646807_kazako.a911 14 04.11.23 11:26 Сейчас в теме
Схема обмена с сервиса ЕФРСБ, файл прикрепил. В 1С не загружалась, вылетала с ошибкой, поэтому добавил в заголовок targetNamespace="efrsb", может из-за этого ошибка.

В схеме свойство Publisher тип AnyType,
Но есть еще (я так понял что это фасет) перечисление PublisherType где описаны все возможные типы Publisher,
Пробовал в свойстве Publisher менять тип AnyType на тип PublisherType, но безрезультатно

Свойство Publisher может быть нескольких типов. Где в XML схеме должно быть указание типа свойства?
В данном примере тип определяют в теге <Publisher xsi:type="Publisher.ForeignSystem.v2">
Прикрепленные файлы:
СхемаОбмена.xsd
4. user646807_kazako.a911 14 04.11.23 11:39 Сейчас в теме
Взлетело после корректировки
<Publisher xsi:type="Publisher.ForeignSystem.v2">
<Publisher type="Publisher.ForeignSystem.v2">
Видимо xsi - пространство имен, которое задавалось в XDTO пакете, в нем нет этого типа Publisher.ForeignSystem.v2
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот