没有得到jpos服务器的任何响应

时间:2017-08-14 06:17:11

标签: iso8583 jpos

我正在从我的jpos客户端发送以下0800请求。

   private void sendLonOnRequest() {
        ISOMsg logOnMessage = null;
        try {
          Object sessionId = sp.rd(cfg.get(READ_KEY), cfg.getLong(TIME_OUT));
          if (sessionId != null) {
            logOnMessage = new ISOMsg();
            logOnMessage.setMTI("0800");
            logOnMessage.set(7, ISODate.getDateTime(new Date()));
            logOnMessage.set(11, getSystemAuditNumber());
            logOnMessage.set(70, "001");
            logOnMessage.set(125, "EFT");
            ISOMsg response = mux.request(logOnMessage, 30000);
            if (response != null) {
                sp.out(ECHO, new Object(), echoInterval);
                handleSuccess(logOnMessage);
            } else {
                log.info("############ RESPONSE NULL");
                handleFailure(logOnMessage, null);
            }
          }
        } catch (ISOException e) {
            handleFailure(logOnMessage, e);
        }
    }

系统审核编号生成为:

public String getSystemAuditNumber() {
    int stan = new Random().nextInt(900000);
    return ISOUtil.zeropad(stan, 6);
}

示例请求是:

<log realm="channel/xxx.xxx.xx.xxx:port" at="Thu Aug 10 14:12:32 IST 2017.175" lifespan="78ms">
  <send>
    <isomsg direction="outgoing">
      <!-- org.jpos.iso.packager.GenericPackager[D:/location/to/packager/iso87ascii.xml] -->
      <field id="0" value="0800"/>
      <field id="7" value="0810141232"/>
      <field id="11" value="022887"/>
      <field id="70" value="001"/>
      <field id="125" value="EFT"/>
    </isomsg>
  </send>
</log>

但是我没有从jpos服务器获得任何响应(响应为空)并且客户端超时。我没办法查看服务器的日志或调试它。有人可以帮我这个。

1 个答案:

答案 0 :(得分:0)

如果您没有从服务器获取日志的选项,最好选择使用Wireshark等网络嗅探器。

这可以帮助您了解正在发生的事情(TCP数据包级别)。