实际上,我正在处理iso 8583消息,以及java中的库j8583。
我创建了一个echo (0800)消息来探测与服务器的连接,当打印消息时,消息看起来很好,但是在服务器端,消息看起来像十六进制编码,如下所示:

服务器端的devs告诉我消息的格式错误,正确的消息如下:

我看到正确的消息格式是清晰的,像上面的图像一样。
来自xml字段的工厂:
this.messageFactory = ConfigParser.createFromClasspathConfig("j8583-config.xml");Iso消息设置二进制标志
req.setBinaryFields(true);
req.setBinaryHeader(true);XML配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE j8583-config PUBLIC "-//J8583//DTD CONFIG 1.0//EN" "http://j8583.sourceforge.net/j8583.dtd">
<j8583-config>
<!-- These are the ISO headers to be prepended to the message types specified -->
<header type="0800">6000050000</header>
<header type="0810">6000050000</header>
<template type="0800">
<field num="3" type="NUMERIC" length="6" />
<field num="7" type="DATE10" />
<field num="11" type="NUMERIC" length="6" />
<field num="24" type="NUMERIC" length="3" />
<field num="41" type="ALPHA" length="8" />
<field num="42" type="ALPHA" length="15" />
<field num="60" type="LLLLVAR" length="" />
</template>
<parse type="0800">
<field num="3" type="NUMERIC" length="6" />
<field num="7" type="DATE10" />
<field num="11" type="NUMERIC" length="6" />
<field num="24" type="NUMERIC" length="3" />
<field num="41" type="ALPHA" length="8" />
<field num="42" type="ALPHA" length="15" />
<field num="60" type="LLLLVAR" length="" />
</parse>
</j8583-config>IsoMessage构建:
final IsoMessage req = this.messageFactory.newMessage(NET_INFO_REQUEST.getValue());
req.setValue(PROCESSING_CODE, ECHO.getValue(), IsoType.NUMERIC, 6);
req.setValue(TRANSMISSION_DATE_TIME, FormatUtils.formatDate10GMT0(new Date()), IsoType.DATE10, 0);
req.setValue(SYSTEM_TRACE_AUDIT_NO, leftPad(simpleTraceGenerator.nextTrace(), 6), IsoType.NUMERIC, 6);
req.setValue(INTERNATIONAL_NETWORK_ID, command.VISA.getCode(), IsoType.NUMERIC, 4);
req.setValue(TERMINAL_ID, "72024092", IsoType.ALPHA, 8);
req.setValue(CLIENT_CODE, "03659307 ", IsoType.ALPHA, 15);
req.setValue(SOFTWARE_VERSION, "OPv1", IsoType.LLLLVAR, 0);
req.setBinary(fale);能帮我吗?
发布于 2022-08-28 18:12:42
似乎你正在产生的信息有不止一个问题:
)。
希望这能帮上忙!
https://stackoverflow.com/questions/73489902
复制相似问题