Получить NullPointerException при вызове пакета () JPOS

Я работал в ISO 8583. И я использую JPOS для разбора и разборки сообщения ISO. Но, когда я анализирую сообщение, я получаю следующую ошибку:

java.lang.NullPointerException
    at org.jpos.iso.ISOBasePackager.pack(ISOBasePackager.java:94)
    at org.jpos.iso.ISOMsg.pack(ISOMsg.java:442)
    at com.sti.payment.postpaid.service.TransactionService.response(TransactionService.java:76)
    at com.sti.payment.postpaid.App.main(App.java:35)

Ошибка указывает на:

byte [] bIsoMsg = isoMsg.pack();

Вот мой код:

public void response(String responseMessage) throws Exception {
    // TODO Auto-generated method stub
    GenericPackager packager = new GenericPackager("de-payment-request.xml");

    // Buat ISO Messagenya
    ISOMsg isoMsg = new ISOMsg();
    isoMsg.setPackager(packager);
    isoMsg.setMTI("0210");
    isoMsg.set(1, "723A40010A818000");
    isoMsg.set(2, "162333444455556666");
    isoMsg.set(3, "380099");

    byte [] bIsoMsg = isoMsg.pack();
}

И вот мой XML:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager SYSTEM "genericpackager.dtd">
<isopackager>
  <isofield
    id="1"
    length="64"
    name="BIT MAP"
    class="org.jpos.iso.IFA_BITMAP"
  />
  <isofield
    id="2"
    length="16"
    name="PRIMARY ACCOUNT NUMBER"
    class="org.jpos.iso.IFA_LLNUM"
  />
  <isofield
    id="3"
    length="6"
    name="PROCESSING CODE"
    class="org.jpos.iso.IFA_NUMERIC"
  />
</isopackager>

Что я пропустил? Большое спасибо.

2 ответа

Решение

Ответ

На данный момент, возможно, это не самый лучший и подходящий ответ для моей проблемы. Просто исключите ID 1 в вашем методе упаковки. Меня устраивает. Потому что JPOS автоматически добавляет ID 1 и 2 для вашего сообщения.

Поле растрового изображения (элемент данных 1) автоматически обрабатывается jPOS, поэтому вам не нужно вызывать:

isoMsg.set(1, "723A40010A818000");

Когда вы устанавливаете поле 1, jPOS считает, что есть поля, которые на самом деле не настроены, и поэтому вы получаете NPE, скорее всего здесь (в зависимости от вашей версии).

Другие вопросы по тегам