1

いくつかのタグ(アカウント番号、残高など)を取得するために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は、インデックス70の集約SONRS(クラスnet.sf.ofx4j.domain.data.signon.SignonResponse)ではサポートされていません。

net.sf.ofx4j.io.AggregateStackContentHandler onElement INFO:要素INTU.USERIDは、インデックス70の集約SONRS(クラスnet.sf.ofx4j.domain.data.signon.SignonResponse)ではサポートされていません。

スレッド「メイン」の例外java.lang.IllegalStateException:java.io.IOException:予期しないEOF

ありがとう

4

1 に答える 1

0

ofx ファイル形式が変更されることを願っています。( MessageSetType .* banking *)を要求しているためです。ただし、ofx ファイルにはクレジット カードの詳細が含まれている場合があります。

初期のトランザクション データは、< BANKMSGSRSV1 > タグ内の .ofx ファイルに含まれています。しかし、現在、トランザクション データは < CREDITCARDMSGSRSV > タグに含まれています。データ受信コードを変更する必要があります。

これから何か助けが得られることを願っています。ありがとうございました

于 2012-05-30T07:16:27.443 に答える