Java SWIFT库

33

我正在寻找一个用于SWIFT消息的Java库。我想要:

  • 将SWIFT消息解析为对象模型
  • 验证SWIFT消息(包括SWIFT网络验证规则)
  • 通过使用对象模型构建/更改SWIFT消息

从理论上讲,我需要支持所有SWIFT消息类型。但目前我需要MT103 +、MT199、MT502、MT509、MT515和MT535。

到目前为止,我已经查看了两个库:

这两个库都可以完成上述任务,但在两种情况下我都不是真正满意。

AnaSys对所有SWIFT消息使用内部XML表示,您需要知道该表示才能访问消息的字段。而且,您需要对XML表示的DOM进行操作,无法说“获取SWIFT消息的'50K'字段的内容”。

Datamation库似乎具有更好的API,但无法找到所有错误。

那么,有没有人知道其他可用于SWIFT的库?

9个回答

23

你看过WIFE吗?我们在应用程序中使用它将SWIFT消息转换为内部XML格式,然后再转换回来。我们没有遇到任何问题。此外,它是根据LGPL许可证授权的,因此如果需要,您可以对其进行修改。赶紧试试吧。


3
WIFE现在被称为Prowide Core,可在Github上找到:https://github.com/prowide/prowide-core。 - George Hawkins
我们还使用Prowide Core进行SWIFT消息集成,这是一个非常稳定和出色的库。在GitHub上也有良好的社区支持。 - André Gasser
请问2022年5月份Prowide Core的替代方案有哪些?市场上有哪些拥有良好社区支持的库可供选择? - Mallu Golageri

21

SWIFT发布了一个“标准开发工具包”,其中包括一个“MT/XML模式库”。

从文档中可以看到: “MT/XML模式库是一组完整的MT消息XML模式定义和软件,展示了如何将MT格式的消息转换为MT XML表示形式并进行反向转换。这种方法允许应用程序之间进行XML集成,而MT(FIN)格式仍将通过SWIFT网络传输。”

Java源代码也将提供,同样来自文档: “工作样例Java源代码,将MT格式的消息转换为XML实例,并从XML实例转换为MT格式的消息。”

请参见:http://www.swift.com/support/drc/develop/standards.page

这可以在处理XML语法的FIN消息方面提供很大的帮助。


11
Swift Developer Kit不是免费资源,您需要每年支付1万欧元。https://www.swift.com/ordering-support/developer-resource-centre/develop/standards/mystandards-base-libraries - Surendra

8
你可以将开源实现WIFE与商业验证组件http://www.prowidesoftware.com结合使用。它通过SWIFT网络验证规则验证您使用模型或XML表示创建的消息是否正确。请注意,保留HTML标记。

2

有一个名为Volanté的产品做得非常好。他们的解决方案已获得SWIFT认证,集成也很容易(我听起来像是在为他们工作...但我不是)。我使用它已经几个月了。

IBM也提供一种解决方案(现在无法记住名称),但这样你就必须承诺与大蓝合作。


1

如果贵公司不太适应LGPL许可证,您可能想要查看Progress Sonic ESBArtixDS(最近被收购),TIBCO ActiveWhatever或Oracle/BEA Aqualogic。很有可能您已经在使用这些公司的某些产品,并且可以获得不错的折扣。


0

paymentcomponents (http://www.paymentcomponents.com/) 解析器易于使用且能找到所有错误。他们的网站肯定需要改进,但如果你在那里搜索,你会找到你想要的。


0

除了jodonnell,我们还使用WIFE。它运行非常良好。不过我不确定它是否符合您列表中的网络验证规则(#2)。


0

我无法真正帮助你实现Java。当然,微软有自己的Biztalk适配器,用于ISO15022和20022。他们将实际上会很好地进行验证。但是,正如你所说,你实际上正在寻找一个Java解决方案。

你可能会发现,就像我在6年前研究这个问题时一样,将FIN消息映射到XML,然后转换为对象,标准库只能让你部分实现目标。你将不得不将其与后端应用程序以及您需要支持的特定消息中面临的任何市场惯例集成。

最终,我用C++编写了一个通用的FIN解析器/150022类库。

无论如何,祝你好运。一个好主意是在你的问题中更具体地说明你需要支持哪些类型的消息?


顺便提一下,它是 ISO 20022 而不是 ISO 200022。 - Julien Grenier

0

Datamation的库从那时起已经发展了。如果您需要2021年的相应解决方案,可以查看PaymentComponents(以前称为Datamation)的FINaplo,这是一个用于金融消息的多用途实现。

它提供在线验证/解析/翻译/信封服务、Java SDK以及REST解决方案,所有这些都包括错误规范。我实际上是其中的作者之一。

SWIFT MT Java库的演示可以在此GitHub链接中找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接