如何使用来自一个客户端的两个自定义打包程序在 JPOS 中解析两种不同的 iso 格式

问题描述

我正在使用 jpos 来实现 EFT 开关。 我有一个依赖 Bank bin 的客户端发送两种不同格式的 iso8583。我如何处理所有请求并响应相同类型的请求 ISO。

我使用这个 XML 来配置客户端

<channel-adaptor name="cms-rx-tx" class="org.jpos.q2.iso.ChannelAdaptor">

    <channel class="org.jpos.iso.channel.ASCIIChannel"
             packager="org.jpos.iso.packager.ISO87APackager">
        <property name="host" value="xxx.xxx.xxx.xxx"/>
        <property name="port" value="xxxx"/>
        <property name="connect-timeout" value="15"/>
    </channel>
    <in>cms-channel-client-send</in>
    <out>cms-channel-client-receive</out>
    <reconnect-delay>10000</reconnect-delay>
</channel-adaptor>

解决方法

如果您想使用相同的端口,您需要一个特殊的 Channel 实现来覆盖 'getDynamicPackager' 方法。不过,习惯上为不同的打包程序使用不同的端口。