2014-01-30 3 views
0

В моем XML-файле в пакете у меня есть подпольский упаковщик для поля.Update GenericSubFieldPackager для обработки неопределенных полей

Спецификация определяет несколько полей для этого (скажем, 25 из них), но я забочусь только о первом. Поэтому я действительно не хочу определять больше, чем это поле в моем пакете.

Проблема возникает, когда запрос приходит с более чем одним полем (это довольно нормально).

GenericSubFieldPackager в основном определяет максимальное количество полей из размера растрового изображения и циклически проходит и генерирует исключение, поскольку он видит бит для поля 15, но isofield 15 не определен в пакете и генерирует исключение.

Можем ли мы изменить GenericSubFieldPackager code

Изменение

if (fld[i] != null) { 

в

if (i < fld.length && fld[i] != null) { 

для предотвращения массива выходит за границы исключения как FLD [15] не существует, как ее не определен мой пакет xml.

ответ

0

Это предлагаемое исправление (уже объединенное в jPOS 1.9.5) будет работать только для последней части сообщения и если вы используете канал без потока (т. Е. Он не работает с PADChannel, который читает сообщение на лету).

Если вас интересуют некоторые поля, например, 2,3,4, и вам не нужны поля 5,6,7, но тогда вы заботитесь о поле 8 и 9, это исправление, конечно, не будет работа, если в растровом изображении присутствуют 8 или 9 или 9.

+0

Благодарим вас за [запрос на слияние 35] (https://github.com/jpos/jPOS/pull/35) – chhil