JPOS Q2 服务器作为支付网关路由器

问题描述 投票:0回答:2
  1. 据我所知,我们可以从一台主机/交换机接收 ISO8583 消息并进行一些处理,然后使用 server.xml、channel.xml 和 mux.xml 配置文件将消息转发到另一台主机/交换机。
  2. 我们可以根据在channel.xml中指定的静态IP配置来路由消息(从某种意义上说它是预定义的)。

要求: 我想开发一个使用 JPOS Q2 Server 作为支付网关路由器的应用程序。基本要求是 Q2 服务器必须能够根据传入消息中的一个字段(作为标识符)来路由传入消息,并动态地从数据库中获取目标路由,并将消息进一步发送到目标主机。这可以使用 JPOS Q2 Server 来完成吗?如果是的话,怎么办?

消息流程: 源 ->(以字段 48 作为标识符的 ISO 消息)->Q2 SERVER->(进行一些处理,使用 DB 中的标识符获取目标地址)->目标主机->(反向响应源)

payment-gateway iso8583 jpos
2个回答
0
投票

恐怕 jPOS 不支持开箱即用,但您有多种方法可以实现这一点。

您可以为每个可能的地址定义一个 ChannelAdaptor,如果它们太多,您可以创建某种脚本来从数据库生成部署文件。我想每个目的地在该数据库中都会有一个描述性名称,因此您可以使用它来命名通道适配器。

然后您可以在获取目的地的参与者中也获取该名称。然后,您将目标放入上下文中,并使用您自己的逻辑或 QueryHost 参与者,如 jpos 编程指南第 9.8.4 节中所述。

如果数据库中没有名称,那么您可以使用自己的命名并在某些属性或 xml 文件中定义映射。如果您没有更好的方法,您也可以使用目标地址作为频道的名称(最好在前面加上一些前缀)。

其他方法(我不知道是好是坏,但倾向于最坏)可能是动态创建一个通道来在自定义参与者中发送消息,而不使用 ChannelAdaptor。这将需要更多的 java 逻辑和更少的配置,而且您也会失去使用标准组件的好处。

这只是我立即想到的两个选项,但可能是我缺少的其他选项。我强烈建议采用第一个路径,如果目标表变量太大或太大,则使用一个可能的脚本来更新通道适配器描述符文件(我怀疑第二个路径,但以防万一我提到)。

基本上,您正在编写一种大型网关,因此,如果您还没有阅读 jpos 网关教程(wo 首先),请阅读它们,您将了解如何粘合第 9.8.* 节中找到的内容。您的代码将基于

SelectDestination
参与者。


0
投票

请问@Diwas,您能解决这个问题吗?如果是的话,也许你可以给我一些提示来解决它。

提前致谢

© www.soinside.com 2019 - 2024. All rights reserved.