![]() |
|
Ошибка чтения XML при обмене | ☑ | ||
---|---|---|---|---|
0
Cherokee
02.09.13
✎
15:17
|
Здравствуйте!
Есть проблема. Обмен между УПП1.3 и БП2.0 При попытке чтения файла обмена XML выпдает в исключение на строчках: ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеXML); Описание ошибки такое: {ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(40)}: Ошибка при вызове метода контекста (НачатьЧтение): Неправильный формат сообщения Что бы это все значило? P.S. Галка "Распределенная база данных" не поставлена в обоих базах: и УПП, и БП. |
|||
1
Maxus43
02.09.13
✎
15:25
|
НачатьЧтение
Прочитывает заголовок сообщения обмена данными и проверяет содержащиеся в заголовке данные. Если какие-либо данные указаны неправильно (задан неизвестный план обмена, указан узел, не в ходящий в план обмена, номер сообщения не соответствует ожидаемому), вызывается исключение (с) |
|||
2
Cherokee
02.09.13
✎
15:33
|
(1)
1. План обмена правильный. 2. Узел входит в план 3. Если бы номер был неправильный, то описание ошибки было бы соответствующим. Думал, что возможно, причина в названиях конфигураций. Но нет, названия тоже правильные |
|||
3
Maxus43
02.09.13
✎
15:41
|
(2) что-то в заголовке не так...
|
|||
4
Cherokee
02.09.13
✎
15:50
|
(3) Я понимаю. Но вот что?
Листинг заголовка: <?xml version="1.0" encoding="UTF-8"?> -<ФайлОбмена Комментарий="" ИдПравилКонвертации="f2d57675-0808-49a1-8874-25cbe4fa7c9e" ИмяКонфигурацииПриемника="БухгалтерияПредприятия" ИмяКонфигурацииИсточника="УправлениеПроизводственнымПредприятием" ДатаВыгрузки="2013-09-02T15:45:10" ВерсияФормата="2.0">-<ПравилаОбмена><ВерсияФормата>2.01</ВерсияФормата><Ид>f2d57675-0808-49a1-8874-25cbe4fa7c9e</Ид><Наименование>УправлениеПроизводственнымПредприятием 1.2 факт --> БухгалтерияПредприятия 2.0</Наименование><ДатаВремяСоздания>2013-09-02T15:42:01</ДатаВремяСоздания><Источник>УправлениеПроизводственнымПредприятием</Источник><Приемник>БухгалтерияПредприятия</Приемник> |
|||
5
cw014
02.09.13
✎
15:52
|
А файл сам точно в UTF-8? Может кривыми руками BOM код был стерт?
|
|||
6
Cherokee
02.09.13
✎
15:53
|
(5) Как это посмотреть?
|
|||
7
cw014
02.09.13
✎
15:54
|
через блокнот
|
|||
8
Cherokee
02.09.13
✎
16:10
|
(7) Раскрыл через NotePad+, кодировка точно UTF-8.
Это я новый обмен пытаюсь запустить. Никто над файлом выгрузки не глумился. |
|||
9
Cherokee
03.09.13
✎
09:54
|
Итак, проблема решена. Оставляю сведения тем, кому это, возможно, пригодится.
Если план обмена новый (т.е. вы его создали в конфигураторе), то тогда, чтоб заработало, необходимо соблюсти следующие условия: 1. Одинаковое название плана обмена в конфигурациях и источнике, и приемнике. 2. Чтоб не использовался механизм РИБ, на стороне приемника должны быть загружены правила в нужный план обмена. Если обмен односторонний, то правила надо сделать пустыми, т.е. в конвертации убираем выгрузку всех объектов. 3. Необходимо, чтоб у пользователя, под которым делается обмен, были необходимые права доступа к папке, куда будут копироваться временные файлы при загрузке и выгрузке ответа. По умолчанию это виндовая папка C:\Windows\Temp. В моем случае, я никак не смог получить доступа к этой папке у админов (виртуализация серверов, доступ по RDP в ЦОД и т.д.). Поэтому, я в коде подменил папку для временных файлов. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |