Подтвердить что ты не робот

J8583 не может обрабатывать поле 128

Я использовал j8583 для анализа и создания сообщения ISO 8583 на Java. Кажется, все хорошо, пока в одном из сообщений нет поля 128. Это поле всегда отсутствует, когда я строю или разбираю сообщение с битом 128, но другой бит (2... 127) хорош.

Я дважды проверяю конфигурацию xml, и там ничего плохого.

Это только я или есть ошибка в j8583? кто-нибудь знает, как это решить? Я нахожусь в очень плотном графике, поэтому изменение библиотеки для iso 8583 очень маловероятно

4b9b3361

Ответ 1

Я автор j8583. Я просто просмотрел код, и действительно есть проблема с MessageFactory.newMessage(), где он не будет назначать поле 128 новым сообщениям. Я только что совершил изменение, так что вы можете получить последний источник из репозитория, а ваши новые сообщения будут включать в себя поле 128.

Я также рассмотрел синтаксический код, и я не мог найти там ничего плохого. Если вы разобрали сообщение с полем 128 и в руководстве по синтаксическому анализу, оно должно содержать это сообщение.

Однако я столкнулся с некоторыми реализациями ISO8583, в которых сообщение имеет поле 128, установленное в растровом изображении, но оно действительно не в сообщении. В этих случаях j8583 не может разобрать сообщение, потому что отсутствуют данные. Я все еще пытаюсь понять, как с этим справиться.

Когда вы найдете какие-либо ошибки в j8583, разместите их на странице проекта, поэтому я получаю уведомление и решая их. Я обычно не ищу j8583-тегированные вопросы на этом сайте (но я, вероятно, должен начать делать это).