Ошибка разбора xml error code 1

Содержание:

1.       XML – расширяемый язык разметки

2.       Устранение Ошибки разбора XML в 1С

3.       «Обход» Ошибки разбора XML в 1С   

1.    XML – расширяемый язык разметки

В данной статье речь пойдёт о причинах возникновения фатальной ошибки «Ошибка разбора XML» и способах устранения данной неполадки. Также будет дана инструкция не по устранению, но «обходу» ошибки, то есть действиям на опережение.

XML (с английского – extensible markup language – расширяемый язык разметки) – это язык разметки, который рекомендует Консорциум Всемирной паутины. Обычно язык разметки XML служит для описания документации, соответствующего типа, а также описывает действия соответствующих процессоров. Расширяемый язык разметки имеет довольно простой синтаксис, поэтому используется по всему миру, чтобы создавать и обрабатывать документацию программным способом. Он создавался именно для использования в Интернете. XML назвали именно расширяемым языком разметки, так как в нём нет фиксации разметки, которая содержится внутри документа, а именно: программист может создавать любую разметку, а ограничения будут встречаться лишь в синтаксисе.

2.    Устранение Ошибки разбора XML в 1С

«Ошибка разбора XML» возникает исключительно в тонком клиенте 1С. Также стоит отметить, что «Ошибка разбора XML» также довольна схожа с ошибкой по формату потока, которая возникает в толстом клиенте. Обычно в 1С «Ошибка разбора XML» возникает по причине наличия кэша метаданных. И если очистить кэш, то ошибка будет устранена. Выглядит окно с ошибкой, а также окно с комментариями от технической поддержки следующим образом:

Рис. 1 Окно Ошибки разбора XML в 1С

XML данные читаются по потокам, так что в каждый из моментов времени объект «сосредоточен» в некотором узле XML. Из-за этого также может возникать фатальная ошибка «Ошибка разбора XML». Для того чтобы её устранить, можно вызвать функцию «ИсключениеЧтенияXml», как показано на скриншоте примера ниже:

Рис. 2 Вызов функции ИсключениеЧтенияXML для устранения Ошибки разбора XML в 1С  

3.    «Обход» Ошибки разбора XML в 1С

Данные два способа (очистка кэша метаданных и функция «ИсключениеЧтенияXml») – не все возможные варианты устранения ошибки разбора XML. Далее рассмотрим нестандартный подход, который позволит избежать ошибки еще до её возникновения.

Для наглядности будем работать в конфигурации 1С:Бухгалтерия предприятия, одной из наиболее распространенных программ фирмы 1С. У многих людей, которые пользуются программой 1С:Отчётность появляются неполадки при попытках открыть данные/файлы от налоговой. Чтобы открыть такой файл повторяем следующие действия:

·        Переходим по пути: «Настройки 1С:Отчётности → Журнал обмена с контролирующими органами», как показано на скриншоте ниже:

Рис. 3 Настройка 1С Отчетности

·        Далее кликаем на «Запросы» и выделяем ту выписку, которую не было возможности открыть из-за ошибки, как продемонстрировано на скриншоте ниже:

Рис. 4 Выбор выписки с Ошибкой разбора XML в 1С

·        Обращаем внимание на стадию отправки, которая располагается внизу этого сообщения, и кликаем два раза на зелёный круг:

Рис. 5 Стадия отправки документа с Ошибкой разбора XML в 1С

·      Появляется транспортное сообщение, в нём кликаем на «Выгрузить» и выбираем папку, куда необходимо провести выгрузку, после чего сохраняем данный файл. Пробуем открыть его, при помощи любого из графических редакторов, который может поддерживать формат PDF, как показано на скриншоте ниже:

Рис. 6 Результат обхода Ошибки разбора XML в 1С

·        Всё успешно открылось, а ошибка даже не успела возникнуть.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

07.05.2019

Способ «обхода» ошибки, «Разбора XML- [1,1]» в 1с Отчетности. На примере конфигурации «Бухгалтерия предприятия» (ред. 3.0)

На данной момент, у пользователей 1с Отчетности, возникают проблемы, при открытие файлов из налоговой. Для того чтобы открыть файл нужно сделать следующее:

oshibka.JPG

Рис.1-Ошибка

1.Для того чтобы, «обойти» данную ошибку, заходим:

Настройки 1c Отчетности – Журнал обмена с контролирующими органами

otchetnost.JPG

Рис. 2- Отчетность

2.После того, как «зашли» во вкладку « Журнал обмена с контролирующими органами», нажимаем : Запросы — выделяем справку или выписку которая не открывается (это делается одним нажатием левой кнопкой мыши)

jurnalobmena.JPG

Рис. 3- Журнал обмена

3.Находим внизу, стадию отправки, данного транспортного сообщения и нажимаем на предпоследний зеленый кружок, двойным щелчком «мыши».

stadiaotpravki.JPG

Рис. 4 -Стадия отправки

4. Выходит транспортное сообщение, в котором нажимаем, «выгрузить», после чего выбираете папку, куда хотите выгрузить — сохраняете файл и открываете его через любой графический редактор, который сможет открыть pdf формат.

vigruzka.JPG

Рис. 5 -Выгрузка

Автор статьи

Сафаров Ильдар. Специалист Линии консультаций

Возврат к списку

Фатальная ошибка: Extra content of the end of the document. Ошибка разбора XML: — [1,1].

Такую фигню выдает 1с при обмене через веб-сервис. Вот текст XML-ки,, на которую он ругается:

<?xml version=»1.0″ encoding=»UTF-8″?>

<v8msg:Message xmlns:v8msg=»http://v8.1c.ru/messages»>;

    <v8msg:Header>

        <v8msg:ExchangePlan>кпкОбменПолный</v8msg:ExchangePlan>

        <v8msg:To>001</v8msg:To>

        <v8msg:From>TP4</v8msg:From>

        <v8msg:MessageNo>7</v8msg:MessageNo>

        <v8msg:ReceivedNo>24</v8msg:ReceivedNo>

    </v8msg:Header>

    <v8msg:Body xmlns:v8=»http://v8.1c.ru/data»; xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>;

        <DocumentObject.кпкЗаказ>

            <Ref>a355466a-3971-fb19-01fc-a52cb9c46780</Ref>

            <DeletionMark>false</DeletionMark>

            <Date>2014-02-11T15:23:32</Date>

            <Number>Ц-КМ0000617</Number>

            <Posted>true</Posted>

            <кпкОрганизация>06b8615c-e2c0-11e2-85e6-0015174c80a1</кпкОрганизация>

            <кпкКонтрагент>331ed844-ee79-11e2-a746-0015174c80a1</кпкКонтрагент>

            <кпкТипЦен>dc06b125-e2fd-11e2-85e6-0015174c80a1</кпкТипЦен>

            <Автор>06b86163-e2c0-11e2-85e6-0015174c80a1</Автор>

            <СуммаДокумента>2160</СуммаДокумента>

            <Комментарий/>

            <Синхронизирован>false</Синхронизирован>

            <Товары>

                <Row>

                    <кпкНоменклатура>516f4255-ee74-11e2-a746-0015174c80a1</кпкНоменклатура>

                    <Количество>12</Количество>

                    <Цена>180</Цена>

                    <Сумма>2160</Сумма>

                </Row>

            </Товары>

        </DocumentObject.кпкЗаказ>

    </v8msg:Body>

</v8msg:Message>

Вроде все правильно с точки зрения протокола XML… Но не работает обмен и все тут.

   dave2000

22.12.16 — 13:00

Платформа сервера 1С 8.3.7.1917

Платформа мобильных: 8.3.5.109

Есть самописные обмены между базами и мобильными устройствами (стандартный handshake xml-обмен, описан тут: http://fs.kursypo1c.ru/free/FM-MobilePlatform/Module03/mobile-apps-fm-theory-module03.pdf). Обмены в целом работают стабильно, но при попытке передчи данных с мобильного на сервер возникает «Ошибка разбора XML [1,1] — Extra content at the end of the document». Т.е. какого-то фёдора на сервер попадет пустая XML, чего в принципе быть не должно (даже в пустом пакете будет минимум пару тегов). Если бывают проблемы со связью (нет инета), то и соединение с сервером (создание прокси) вовсе не происходит. А так прокси создаётся нормально, ошибка возникает уже при передаче данных серверу.

Кто что думает? Где искать причину — на мобильных устройствах или на сервере? Такое впечатление, что после установки соединения потом рубается связь.

ЗЫ: Если нужны куски кода, выложу.

   lubitelxml

1 — 22.12.16 — 13:14

Платформы менять пробовал?

   dave2000

2 — 22.12.16 — 13:21

(1) Только мобильные платформы меняли (8.3.6) — ситуация осталась. Серверную пока не трогали. Есть вероятность, что это сервер так куралесит?

   lubitelxml

3 — 22.12.16 — 13:28

(2) может, 8.3.7 помниться глючная была

   mobile-1c

4 — 22.12.16 — 13:54

были такие ошибки. попробуй убрать в обмене все объекты и последовательно найди тот объект который мешает обмену. возможно разная структура объекта проверь это.

   dave2000

5 — 22.12.16 — 14:02

(4) С объектами все гуд, при разной структуре ругнётся на середину файла, а тут он со старта пустой [1,1]. Да и при разной структуре у нас проверка стоит, сразу ловится реквизит и объект которые не совпадают.

(3) Какую платформу посоветуете ставить, какая наиболее стабильная?

   Dilgorp

6 — 22.12.16 — 14:09

(0) Такая ошибка часто возникает, если вместо XML приходит HTML (ошибки авторизации, права и т.д.). Дело не в платформе.

   Dilgorp

7 — 22.12.16 — 14:11

Пример того что может прийти вместо XML

<html>

<head><title> A server error occurred. </title></head>

<h1> Аутентификация пользователя не выполнена.   </h1>

<hr/>

An error occurred processing this request.</html>

   lubitelxml

8 — 22.12.16 — 14:33

(6) так вроде у него обмен падает не всегда. Как с одной парой логинпароль может иногда не пускать?

   Dilgorp

9 — 22.12.16 — 14:49

(8) авторизация это одна из возможных причин, нужно смотреть что в таких случаях приходит

   dave2000

10 — 22.12.16 — 15:07

Код в мобильном приложении:

Функция ВыполнитьОбменДанными(ТекстОшибки = «») Экспорт

    
        Прокси = ПолучитьПрокси();

    Если Прокси = Неопределено Тогда

        ТекстОшибки = «Не удалось установить соединение.»;

        Возврат Ложь;

    КонецЕсли;

    
    …….

    
        // Отправляем данные

    ДанныеОбмена = ОбменСервер.СформироватьПакетОбмена(ЦентральныйУзел, Прокси);   <——- Здесь пакет ХML успешно формируется

    Прокси.ЗаписатьДанные(ИмяУстройства, ДанныеОбмена);    <——— ВОТ ЗДЕСЬ НА СЕРВЕРЕ ПРОИСХОДИТ ИСКЛЮЧЕНИЕ

    
        // Принимаем данные

    ДанныеОбмена = Прокси.ПолучитьДанные(ИмяУстройства);

    ОбменСервер.ПринятьПакетОбмена(ЦентральныйУзел, ДанныеОбмена);

    
    // Отправляем еще раз для снятия регистрации в ЦБ

    ДанныеОбмена = ОбменСервер.СформироватьПакетОбмена(ЦентральныйУзел,

    Прокси.ЗаписатьДанные(ИмяУстройства, ДанныеОбмена);

    

    Возврат Истина;

    
КонецФункции

   dave2000

11 — 22.12.16 — 15:14

Код веб-сервиса ЗаписатьДанные() на стороне сервера:

Функция ЗаписатьДанные(ИмяУстройства, ДанныеМобильногоПриложения)

    УзелОбмена = ПланыОбмена.МобильноеПриложениеКонтрольКультур.НайтиПоКоду(ИмяУстройства);

    
    Если УзелОбмена.Пустая() Тогда

        ТекстИсключения = НСтр(«ru=’Неизвестное устройство: ‘») + ИмяУстройства;

        ВызватьИсключение(ТекстИсключения);

    КонецЕсли;

    СообщениеОбмена = ДанныеМобильногоПриложения.Получить();

    
    ЧтениеXML = Новый ЧтениеXML;

    ЧтениеXML.УстановитьСтроку(СообщениеОбмена);

    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();

    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);

    
    //^^^^^ ВОТ НА ЭТОМ УЧАСТКЕ ВЫЛЕТАЕТ, ошибка разбора XML [1,1]

    
    //…………

    //…………

    //…………

    
КонецФункции

   dave2000

12 — 22.12.16 — 15:15

(11) PS: параметр ДанныеМобильногоПриложения имет тип ХранилищеЗначения

   dave2000

13 — 22.12.16 — 15:19

Получается, что на стороне мобильного успешно формируется XML, а на стороне сервера уже почему-то пустая строка. Как такое может быть?

   Dilgorp

14 — 22.12.16 — 16:59

(13) нужно смотреть что на самом деле получает сервер (записать СообщениеОбмена в файл, использовать отладку, записать в виде строки в любое хранилище).

   DitriX

15 — 22.12.16 — 18:47

версия стационарной какая? и она скульная?

   dave2000

16 — 22.12.16 — 18:56

(15) > Платформа сервера 1С 8.3.7.1917

Да, она SQL

   DitriX

17 — 22.12.16 — 19:02

угу, уходи от скуля или обновись. Это баг стационарный я с 1С вместе его ловил долго. Они даже воспроизвести его не могли. Короче, весело было.

В 8.3.8 вроде уже исправили его.

А баг проявлялся только на скуле, изредка, при определнных размерах пакета, от 100кб до 200кб, вроде, не помню уже.

  

dave2000

18 — 22.12.16 — 21:47

(17) Спасибо, попробую на тестовый последнюю 8.3.8.2167 поставить, погоняем, посмотрим

16.05.2017

Борьба с ошибкой
Extra content at the end of the document,
а также с ошибкой 500 при попытке открытия страницы с ws — описанием в браузере.

Проблема : при попытке обращения к веб сервису из 1с возникает ошибка :
Ошибка разбора XML:  — [1,1]
Фатальная ошибка:
Extra content at the end of the document

При попытке открытия страницы с ws — описанием в браузере — ошибка 500

Решение.

1.Запускаем диспетчер IIS.

2.Находим в пулах приложений приложение DefaultAppPool. Правая кнопка мыши — дополнительные параметры — Разрешены 32 разрядные приложения — поставитьTrue

3.Находим в ветке «Сайты» нужный нам каталог, 2 раза щелкаем мышкой на него, в правом окне запускаем «Фильтрация запросов». Удаляем все запрещения на расширение (либо удалить элемент, либо поставить Разрешено=true)

4. Перезапускаем IIS

Ошибка разбора XML: -[1,1]

Фатальная ошибка:

Document is empty

Решение:
Заполните адреса сотрудников, используя КЛАДР/ФИАС.

Понравилась статья? Поделить с друзьями:
  • Ошибка разбора xml char 0x0 out of allowed range
  • Ошибка разбора xml 1с отчетность
  • Ошибка разбора xml 1c mobile
  • Ошибка разбора soap сообщения неизвестный параметр 1с
  • Ошибка разбора json что это