Java SWIFT 库
Posted
技术标签:
【中文标题】Java SWIFT 库【英文标题】:Java SWIFT Library 【发布时间】:2010-09-06 17:08:07 【问题描述】:我正在寻找用于 SWIFT 消息的 Java 库。我想要
将 SWIFT 消息解析为对象模型 验证 SWIFT 报文(包括 SWIFT 网络验证规则) 使用对象模型构建/更改 SWIFT 消息理论上,我需要支持所有 SWIFT 消息类型。但目前我需要 MT103+、MT199、MT502、MT509、MT515 和 MT535。
到目前为止,我已经查看了两个库
AnaSys 消息对象 (link text) 数据处理 SWIFT 消息套件 (link text)这两个库都允许完成上述任务,但在这两种情况下我都不是很高兴。
AnaSys 对所有 SWIFT 消息使用内部 XML 表示,您需要了解这些消息才能访问消息的字段。并且需要对XML表示的DOM进行操作,没有办法说“获取SWIFT报文'50K'字段的内容”。
Datamation 库似乎有更好的 API,但没有找到所有错误。
那么有谁知道要使用其他 SWIFT 库吗?
【问题讨论】:
【参考方案1】:你看过WIFE吗?我们在我们的应用程序中使用它,将 SWIFT 消息转换为内部 XML 格式,然后再转换回来。我们没有遇到任何问题。此外,它在 LGPL 下获得许可,因此您可以根据需要对其进行破解。看看吧。
【讨论】:
WIFE 现在更名为 Prowide Core,可在 Github 上的 github.com/prowide/prowide-core 获得 我们还使用 Prowide Core 进行 SWIFT 消息集成,它是一个非常稳定且非常好用的库。在 GitHub 上也有很好的社区支持。【参考方案2】:SWIFT 正在发布一个“标准开发工具包”,其中包括一个“MT/XML 模式库”。
来自文档: “MT/XML Schema Library 是一整套用于 MT 消息的 XML 模式定义,以及展示如何将消息从 MT 格式转换为 MT XML 表示并返回的软件。这种方法允许应用程序之间的 XML 集成,而 MT ( FIN) 格式将继续通过 SWIFT 网络传输。”
Java 源代码也将提供,同样来自文档: “将 MT 格式的消息转换为 XML 实例以及从 XML 实例转换为 MT 格式的消息的工作示例 Java 源代码。”
见:http://www.swift.com/support/drc/develop/standards.page
这对于处理 XML 语法中的 FIN 消息非常有帮助。
【讨论】:
Swift 开发者工具包不是免费资源,你必须每年支付 10,000 欧元 swift.com/ordering-support/developer-resource-centre/develop/…【参考方案3】:您可以将开源实现 WIFE 与来自http://www.prowidesoftware.com 的商业验证组件相结合。它通过 SWIFT 网络验证规则验证您使用模型或 XML 表示创建的消息是否良好。
【讨论】:
【参考方案4】:有一种名为 Volanté 的产品非常出色。他们的解决方案通过了 SWIFT 的认证,而且集成很简单(我听起来像是在为他们工作……我不是)。几个月以来我一直在使用它。
IBM 还提供了一个解决方案(现在不记得说出名字了),但是您致力于大蓝。
【讨论】:
【参考方案5】:如果您的公司对 LGPL 许可不满意,您可能需要查看 Progress Sonic ESB 或 ArtixDS(最近收购)、TIBCO ActiveWhatever 或 Oracle/BEA Aqualogic。您可能已经在使用这些公司的产品,并且可以获得不错的折扣。
【讨论】:
【参考方案6】:除了 jodonnell,我们还使用 WIFE。它工作得很好。我不确定它是否符合网络验证规则(您列表中的#2)。
【讨论】:
【参考方案7】:paymentcomponents (http://www.paymentcomponents.com/) 解析器易于使用并发现所有错误。他们的网站肯定需要改进,但如果你去那里看看,你会找到你要找的东西
【讨论】:
【参考方案8】:我无法真正帮助您解决 Java 实现问题。微软当然有自己的 ISO15022 和 20022 的 Biztalk 适配器。他们实际上会很好地进行验证。但正如您所说,您实际上是在寻找 java 解决方案。
您可能会发现,正如我在 6 年前研究此问题时所做的那样,将 FIN 消息映射到 XML,然后再映射到对象,标准库只能让您部分实现目标。您必须将其与您的后端应用程序以及您在需要支持的特定消息中面临的任何市场实践集成。
我终于用 C++ 编写了一个通用的 FIN 解析器 /150022 类库。
无论如何,祝你好运。一个想法是在您的问题中更具体。您需要支持哪些类型的消息?
【讨论】:
顺便说一句,它是 ISO 20022 而不是 ISO 200022【参考方案9】:Datamation 的库从那时起不断发展。如果您在 2021 年需要相应的解决方案,可以查看 PaymentComponents(以前称为 Datamation)的FINaplo,这是一种金融消息的多用途实现。
它提供在线验证/解析/翻译/信封服务、Java SDK 以及 REST 解决方案,所有这些都包括错误规范。我实际上是作者之一。
可以在GitHub link 中找到 SWIFT MT Java 库的演示。
【讨论】:
以上是关于Java SWIFT 库的主要内容,如果未能解决你的问题,请参考以下文章