【发布时间】:2020-07-08 04:09:26
【问题描述】:
场景是第三方应用程序将向 jpos 发送消息。可能是它会发送两种消息头长度不同的消息,一种是 22 字节,另一种是 44 字节。打包器是相同的。
如何处理这两个消息并根据标头类型将其路由到发行者?标头中的前 4 个字节将为我提供标头长度的线索。
例如
f3f8f6f7 -- 表示头部长度为22字节
f4f5f6f7 -- 表示头部长度为 44 字节
示例 : header="3867000000000000000002" 或 "45670000000000000000021601" 最多 44
我不知道从哪里开始。我知道我可以创建两个频道,但问题是我必须从一个端点端口收听
如果我想创建自定义频道,处理这种情况的最佳方法是什么?只是想是否可以如下处理,在频道标题属性中我可以指定多个标题?
<server class="org.jpos.q2.iso.QServer" logger="Q2" name="gwmip-server-7003" realm="bnet-server-8000">
<attr name="port" type="java.lang.Integer">7003</attr>
<channel class="org.jpos.iso.channel.NACChannel"
packager="org.jpos.iso.packager.GenericPackager"
type="server"
logger="Q2"
header="3687000000000000000002" or "3687000000000000000002"
>
<property name="packager-config" value="cfg/packager/CISebcdic.xml" debug="True" />
<property name="timeout" value="180000"/>
</channel>
<request-listener class="org.jpos.iso.IncomingListener" logger="Q2" realm="incoming-request-listener">
<property name="queue" value="GWMIPTXNMGR" />
<property name="ctx.DESTINATION" value="jPOS-AUTORESPONDER" />
</request-listener>
</server>
我不知道如何处理。
【问题讨论】:
标签: jpos