Исключение синтаксического анализа OFX4J после того, как все заработало нормально - агрегат SONRS

У меня был кусок кода для чтения файла ofx для получения нескольких тегов (таких как номер счета, баланс и т. Д.). Я использую net.sf.ofx4j.

Часть кода:

public void parse(String filename) throws OFXParseException, IOException, SQLException {

        AggregateUnmarshaller<ResponseEnvelope> unmarshaller = new AggregateUnmarshaller<ResponseEnvelope>(
                ResponseEnvelope.class);
        FileInputStream file = null;

        try {
            file = new FileInputStream(filename);
            ResponseEnvelope envelope = unmarshaller.unmarshal(file);

            BankingResponseMessageSet messageSet = (BankingResponseMessageSet) envelope.getMessageSet(MessageSetType.banking);

            List<BankStatementResponseTransaction> responses = messageSet.getStatementResponses();
            for (BankStatementResponseTransaction response : responses) {

                BankStatementResponse message = response.getMessage();
                String currencyCode = message.getCurrencyCode();
                String acct_number = message.getAccount().getAccountNumber();
                double av = message.getAvailableBalance().getAmount();
                double cur = message.getLedgerBalance().getAmount();
                AccountType acct_type = message.getAccount().getAccountType();

            }

        } catch (OFXParseException e) {
            System.out.println("Error: " + e.getMessage());
        }
        return null;

    }

Он работал нормально, пока однажды не начал выдавать следующее исключение:

net.sf.ofx4j.io.AggregateStackContentHandler onElement INFO: Элемент INTU.BID не поддерживается в агрегированных SONRS (класс net.sf.ofx4j.domain.data.signon.SignonResponse) с индексом 70.

net.sf.ofx4j.io.AggregateStackContentHandler onElement INFO: Элемент INTU.USERID не поддерживается в агрегированных SONRS (класс net.sf.ofx4j.domain.data.signon.SignonResponse) с индексом 70.

Исключение в потоке "main" java.lang.IllegalStateException: java.io.IOException: Неожиданный EOF

Спасибо

1 ответ

Надеюсь, что формат файла x должен быть изменен. потому что вы запрашиваете (MessageSetType. *banking*). Но в вашем файле ofx могут быть данные кредитной карты.

Ранее данные транзакции включаются в файл.ofx внутри тега < BANKMSGSRSV1>. Но теперь данные транзакции включены в тег < CREDITCARDMSGSRSV>. Вам нужно изменить код получения данных.

Надеюсь, вы можете получить некоторую помощь от этого. Спасибо

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