ISO 8583服务器位图为-1

时间:2014-03-13 17:22:09

标签: bitmap iso8583 jpos

我使用JPOS发送和接收ISO 8583消息。 这是客户:

public static void main(String[] args) throws IOException, ISOException {
    System.setProperty("java.net.preferIPv4Stack", "true");
    EvnMsg msg = new EvnMsg();
    ISO93APackager packager = new ISO93APackager(); 
    msg.setPackager(packager);
    msg.setMTI("1804");
    msg.setAuditNumber("124125");
    ASCIIChannel channel  = new ASCIIChannel("Server_IP", PORT, packager);
    channel.connect();
    channel.send(msg);
    channel.receive();
    //channel.disconnect();
}

这是服务器:

public static void main(String[] args) throws IOException, ISOException {
    ISO93APackager packager = new ISO93APackager();
    ServerChannel channel = new ASCIIChannel (packager);
    channel.accept(new ServerSocket(PORT));
    ISOMsg isoMsg = channel.receive();

    System.out.println("Received");
}

收到服务器消息,但问题是位图的值为-1

enter image description here

我犯了错误吗?哪种方式可以接收邮件?

1 个答案:

答案 0 :(得分:1)

这是jPOS使用的内部表示,随意忽略这一事实;一旦频道调用ISOMsg的pack()方法,就会正确生成位图。

一些评论:

  • EnvMsg不属于jPOS,我假设你正在扩展ISOMsg
  • 您不必致电msg.setPackager,频道会代表您处理
  • 您不使用QServer
  • 重新启动服务器中的滚轮
  • 您不使用ChannelAdaptor
  • 重新启动客户端代码中的方向盘
  • 您可能需要多路复用器,请考虑使用QMUX
  • 我建议您查看Q2应用程序以运行所有这些。