1

サーバーにリクエストを送信すると、サーバーログで正しい結果が得られます。これは、以下のサーバーへの私の要求です

ISOMsg isoMsg = new ISOMsg();
            isoMsg.setMTI(Constants.RequestType.MESSAGE_REQUEST.getValue());
            isoMsg.set(3,Constants.Services.DEPOSIT_FUNDS_REQUEST.getValue());
            isoMsg.set(4, depositFundRequest.getAmount().toString());
            isoMsg.set(7, ISODate.getDateTime(today, TimeZone.getTimeZone("GMT+03")));
            isoMsg.set(11, ServiceUtils.generate(6));
            //isoMsg.set(12, "100629072055");
            isoMsg.set(17, ISODate.getDate(today));
            //isoMsg.set(24, "200");
            isoMsg.set(32, "111111");
            //isoMsg.set(35, "6278519999011712");
            isoMsg.set(37, ServiceUtils.generate(12));
            //isoMsg.set(41, "TERMID01");
            //isoMsg.set(43, "11");
            isoMsg.set(46,"00KESD000000000000500000000000D0000000000000000KES");
            isoMsg.set(49,"KES");
            isoMsg.set(102,depositFundRequest.getAccount());
            isoMsg.set(123, userContextService.getCurrentUser());//UserId
            isoMsg.set(126,Constants.Field126.CASH_IN.getValue());
            channel.send (isoMsg);
            ISOMsg responseMsg = channel.receive ();

しかし、クライアント側で着信中に次の例外が発生します。

 org.jpos.iso.ISOException: org.jpos.iso.IFA_LLCHAR: Problem unpacking field 43 (java.lang.NegativeArraySizeException) unpacking field=43, consumed=97

ASCII パッケージャーと BCD チャネルを使用しています。例外の解決を手伝ってください

4

1 に答える 1

1

org.jpos.iso.IFE_LLCHARパッケージャーのフィールド 43 に使用できます。

于 2012-11-17T14:26:29.233 に答える