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

1. user646807_kazako.a911 21 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<wbrfExtrajudicialBankruptcyMessageNumber>
    </CompletionOfExtrajudicialBankruptcy>
  </MessageInfo>
  <Bankrupt xsi:type="Bankrupt.Person.v2">
    <Category>
      <table class="forum-code"><thead><tr><th>Код</th></tr></thead><tbody><tr><td><pre class="coded" lang="1Cv8">SimplePerson</pre><i onclick="opendesccode(this);">Показать полностью</i></td></tr></tbody></table>
      <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 21 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 21 04.11.23 11:39 Сейчас в теме
Взлетело после корректировки
<Publisher xsi:type="Publisher.ForeignSystem.v2">
<Publisher type="Publisher.ForeignSystem.v2">
Видимо xsi - пространство имен, которое задавалось в XDTO пакете, в нем нет этого типа Publisher.ForeignSystem.v2
Оставьте свое сообщение

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