SAPфорум.RU https://sapboard.ru/forum/ |
|
Ошибка парсинга большого входящего сообщения https://sapboard.ru/forum/viewtopic.php?f=70&t=89910 |
Страница 1 из 1 |
Автор: | Walking In The Air [ Вт, мар 03 2015, 12:33 ] |
Заголовок сообщения: | Ошибка парсинга большого входящего сообщения |
Добрый день, коллеги! Может возникнут у вас какие нибудь предложения: нам в PI (7.3) приходит относительно большое xml сообщение (больше гига). При парсинге возникает ошибка org.xml.sax.SAXParseException: XML document structures must start and end within the same entity Очевидное предположение - файл где-то в пути обрезается. Но нужно это проверить/подтведить. Есть ли возможность как-нибудь залоггировать это входящее сообщение? Оно же ведь принимается в память, которая после ошибки чистится. Все свои параметры и лимиты проверили несколько раз. Других ошибок нигде не возникает. Присоветуете что-нибудь? |
Автор: | rabbit [ Вт, мар 03 2015, 13:31 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Ну залогируете вы его, а дальше что? Чем вы его собрались открывать? И если файл кривой, то вы получите ту же самую ошибку. |
Автор: | rabbit [ Вт, мар 03 2015, 13:32 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Цитата: файл где-то в пути обрезается. У вас весь путь это система - источник -> канал -> мэппинг. Проверьте в системе источнике настройки. Может она не дает отправлять такого объема сообщения. |
Автор: | Walking In The Air [ Вт, мар 03 2015, 14:34 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
rabbit написал(а): Ну залогируете вы его, а дальше что? Чем вы его собрались открывать? Это уже проще: vi, od, hexdump etc. Или скинем на рабочую машину - там уже выбор больше.rabbit написал(а): Проверьте в системе источнике настройки. Может она не дает отправлять такого объема сообщения. Как это часто бывает - доступа к источнику нет. Другая организация. Говорят, что у них всё хорошо и получают 200 код в ответ.Поэтому нужно некое подтвержение, что вот получили уже обрезанный файл. Либо всё-таки поймём, что сообщение корректное и проблема у нас. |
Автор: | rabbit [ Вт, мар 03 2015, 15:19 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Поставьте валидацию на уровне адаптера (Inbound Processing), если сообщение кривое приходит, то по идее они перестанут получать 200 ОК. Или к настройкам в PI у вас тоже нет доступа? |
Автор: | Chaser009 [ Вт, мар 03 2015, 15:23 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Попробуйте, прежде всего, размер памяти для java-сервера увеличить. |
Автор: | Walking In The Air [ Вт, мар 03 2015, 16:15 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Chaser009 написал: Попробуйте, прежде всего, размер памяти для java-сервера увеличить. Стоит 10Гб, а сообщение в 1Гб. И по памяти сейчас ошибок не видно. |
Автор: | rabbit [ Вт, мар 03 2015, 17:17 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
В процессе мэппинга оно занимает гораздо больше 1 Гб. Вы можете проверить состояние памяти в процессе обработки этого сообщения? |
Автор: | Walking In The Air [ Вт, мар 03 2015, 18:09 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
rabbit написал(а): Поставьте валидацию на уровне адаптера (Inbound Processing), если сообщение кривое приходит, то по идее они перестанут получать 200 ОК. Или к настройкам в PI у вас тоже нет доступа? К нашему PI пока еще есть доступ Попробовали, но до Inbound Processing оно не доходит. А 200 OK возвращается. rabbit написал(а): В процессе мэппинга оно занимает гораздо больше 1 Гб. Да, понятно, что оно увеличивается. Допустим даже больше, чем 10 раз. Но тогда был бы эксепшн по памяти - такие в самом начале уже ловили Вы можете проверить состояние памяти в процессе обработки этого сообщения? Или имеется виду какой-то хитрый способ мониторинга? |
Автор: | rabbit [ Вт, мар 03 2015, 18:19 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Цитата: Попробовали, но до Inbound Processing оно не доходит. А 200 OK возвращается. Тогда я ничего не понимаю. В этом случае оно и до мэппинга не доходит. В канале всё нормально отрабатывает? Я честно признаться не сталкивался с монитором таким больших сообщений. |
Автор: | rabbit [ Вт, мар 03 2015, 18:21 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Как вариант прокиньте без изменений как есть это сообщение в файловую систему. Сценарий без мэппинга. И посмотрите потом его. |
Автор: | Walking In The Air [ Вт, мар 03 2015, 18:36 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Да, до маппинга не доходит - какой-то парсинг видимо происходит еще в самом начале. Вы имеете ввиду без IR? |
Автор: | rabbit [ Вт, мар 03 2015, 18:48 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Да, именно так. Если получится. |
Автор: | Walking In The Air [ Вт, мар 03 2015, 20:36 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
Спасибо, попробуем! |
Автор: | chumpa [ Сб, мар 07 2015, 09:40 ] |
Заголовок сообщения: | Re: Ошибка парсинга большого входящего сообщения |
преобразовывать 1Гб файл в модуле или в меппинге можно только по частям, надо в канале-отправителе ставить признак отправки побайтно или построчно. Стандартно в ICM ограниченое 100МБ, рекомендуется делать сообщения в районе 5-10 Мб для оптимальной производительности. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |