Java SWIFT 库
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/25192/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Java SWIFT Library
提问by Johannes K. Lehnert
I'm looking for a Java library for SWIFT messages. I want to
我正在寻找 SWIFT 消息的 Java 库。我想要
- parse SWIFT messages into an object model
- validate SWIFT messages (including SWIFT network validation rules)
- build / change SWIFT messages by using an object model
- 将 SWIFT 消息解析为对象模型
- 验证 SWIFT 报文(包括 SWIFT 网络验证规则)
- 使用对象模型构建/更改 SWIFT 报文
Theoretically, I need to support all SWIFT message types. But at the moment I need MT103+, MT199, MT502, MT509, MT515 and MT535.
理论上,我需要支持所有 SWIFT 消息类型。但目前我需要 MT103+、MT199、MT502、MT509、MT515 和 MT535。
So far I've looked at two libraries
到目前为止,我已经看过两个图书馆
Both libraries allow to accomplish the tasks mentioned above but in both cases I'm not really happy.
这两个库都允许完成上述任务,但在这两种情况下我都不太高兴。
AnaSys uses a internal XML representation for all SWIFT messages which you need to know in order to access the fields of a message. And you need to operate on the DOM of the XML representation, there is no way to say "get the contents of field '50K' of the SWIFT message".
AnaSys 对所有您需要了解的 SWIFT 消息使用内部 XML 表示,以便访问消息的字段。而你需要对XML表示的DOM进行操作,没有办法说“获取SWIFT报文'50K'字段的内容”。
And the Datamation library seems to have the nicer API but does not find all errors.
Datamation 库似乎有更好的 API,但没有发现所有错误。
So does anyone know other SWIFT libraries to use?
那么有人知道要使用其他 SWIFT 库吗?
采纳答案by Marcus Leon
SWIFT is releasing a "Standards Developer Kit" which includes an "MT/XML Schema Library".
SWIFT 正在发布一个“标准开发工具包”,其中包括一个“MT/XML 模式库”。
From the doc: "The MT/XML Schema Library is a complete set of XML schema definitions for MT messages, and software which shows how to convert messages from an MT format to an MT XML representation and back. This approach allows XML integration between applications while the MT (FIN) format will continue to be transported over the SWIFT network."
来自文档:“MT/XML 模式库是一套完整的 MT 消息 XML 模式定义,以及显示如何将消息从 MT 格式转换为 MT XML 表示并返回的软件。这种方法允许应用程序之间的 XML 集成而 MT (FIN) 格式将继续通过 SWIFT 网络传输。”
Java source code will also be made available, again from the doc: "Working sample Java source code that converts a message in MT format to an XML instance and from an XML instance to a message in MT format."
还将提供 Java 源代码,同样来自文档:“将 MT 格式的消息转换为 XML 实例,以及将 XML 实例转换为 MT 格式的消息的工作示例 Java 源代码。”
See: http://www.swift.com/support/drc/develop/standards.page
请参阅:http: //www.swift.com/support/drc/develop/standards.page
This can be a great aid in dealing with FIN messages in XML syntax.
这对于处理 XML 语法中的 FIN 消息很有帮助。
回答by vzczc
I can not really help you out with a Java implementation. Microsoft of course, have their own Biztalk adapter for ISO15022 and 20022. And they will actually do the validation fairly well. But as you say you are actually looking for a java solution.
我无法真正帮助您解决 Java 实现问题。微软当然有自己的 Biztalk 适配器,适用于 ISO15022 和 20022。他们实际上会很好地进行验证。但是正如您所说,您实际上是在寻找 Java 解决方案。
You might find, as I did when I researched this 6 years ago, that mapping FIN messages to XML and then to into objects, a standard library will only get you partly to your goal. You will have to integrate this with your backend application and whatever market practices you face in the particular messages you need to support.
您可能会发现,正如我 6 年前研究此问题时所做的那样,将 FIN 消息映射到 XML,然后再映射到对象,标准库只能部分实现您的目标。您必须将其与您的后端应用程序以及您在需要支持的特定消息中面临的任何市场实践相集成。
I finally ended up writing a generic FIN parser /150022 class library in c++.
我最终用 C++ 编写了一个通用的 FIN 解析器 /150022 类库。
Anyway, good luck. An idea is to be more specific in your question. What types of messages do you need to support?
不管怎样,祝你好运。一个想法是在您的问题中更具体。您需要支持哪些类型的消息?
回答by jodonnell
Have you looked at WIFE? We use that in our application which translates SWIFT messages to an internal XML format and back again. We haven't had any problems with it. Also, it's licensed under the LGPL, so you can hack it up if you need to. Check it out.
你看过WIFE吗?我们在我们的应用程序中使用它,将 SWIFT 消息转换为内部 XML 格式,然后再返回。我们没有遇到任何问题。此外,它是根据 LGPL 获得许可的,因此您可以根据需要对其进行修改。一探究竟。
回答by ddimitrov
If your company is not comfortable with the LGPL license, You might want to check Progress Sonic ESB, or ArtixDS(recently acquired), TIBCO ActiveWhateveror Oracle/BEA Aqualogic. Chances are you are already using something from these companies and you can get decent discount.
如果您的公司对 LGPL 许可不满意,您可能需要查看 Progress Sonic ESB或ArtixDS(最近收购)、TIBCO ActiveWhatever或 Oracle/BEA Aqualogic。您可能已经在使用这些公司的产品,并且可以获得不错的折扣。
回答by Julien Grenier
There is a product call Volanté that make a great job. Their solution is certified by SWIFT and the integration is easy ( I sound like I'm working for them ... I'm not). I've been using it since a couple of month .
有一个名为 Volanté 的产品非常出色。他们的解决方案已通过 SWIFT 认证并且集成很容易(我听起来像是在为他们工作......我不是)。我已经使用它几个月了。
IBM is also offering a solution (cannot remember to name right now) but then you are committed to the big blue.
IBM 还提供了一个解决方案(现在不记得命名了),但随后您将致力于大蓝。
回答by Marcus Leon
Along with jodonnell, we also use WIFE. It works very well. I'm not sure if it does the network validation rules (#2 on your list) though.
除了jodonnell,我们还使用WIFE。它运作良好。不过,我不确定它是否符合网络验证规则(列表中的 #2)。
回答by Elijah Saounkine
paymentcomponents (http://www.paymentcomponents.com/) parser was easy to use and found all errors. Their site definitely needs work but if u look there, u'll find what u r looking for
paymentcomponents ( http://www.paymentcomponents.com/) 解析器很容易使用并且发现了所有错误。他们的网站肯定需要工作,但如果你去那里看看,你会找到你要找的东西
回答by zzz
You can combine the open source implementation WIFE with the commercial validation component from http://www.prowidesoftware.com. It validates that the messages you create with the model or XML representation are good through SWIFT network validation rules.
您可以将开源实现 WIFE 与来自http://www.prowidesoftware.com的商业验证组件相结合。它通过 SWIFT 网络验证规则验证您使用模型或 XML 表示创建的消息是否良好。