Обновите GenericSubFieldPackager для обработки неопределенных полей.

В моем XML-файле упаковщика у меня есть упаковщик подполя для поля.

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

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

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

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

Изменять

if (fld[i] != null) {

to

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

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


person chhil    schedule 30.01.2014    source источник


Ответы (1)


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

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

person apr    schedule 30.01.2014