用于Java到EDI转换的Java库

我正在寻找一个Java库来执行Java到EDI转换 – 更具体地说是医疗保健中使用的EDI 835格式。 尽管许多库都承诺Java到EDI的转换,但是在他们的站点上没有可用的文档或代码示例。 这是我迄今为止尝试过的没有运气的库列表:

1. EdiReader (EdiWriter是商业版,没有试用版下载)。
2. Smooks (没有试用版下载和文档没有提到Java到EDI的转换)。
3. 打开Business Objects – 来自americancoders.com的OBOE(试用版下载但未提及Java到EDI)。
4. 奥克兰数据转换器 (这甚至不让我下载库和文档)。

有谁知道其他可能有用的解决方案?
我也对任何商业解决方案持开放态度。

谢谢!

smooks的试用版下载?! 你不需要许可证。 Theres也是一个很好的文档。 看看: http : //www.smooks.org/

恕我直言,如果你不想要商业解决方案我会和smooks一起去。

如果您对商业解决方案持开放态度,您可能需要查看Altova的MapForce。 它有一个拖放映射器,您可以创建地图,然后生成代码以插入您的应用程序。 MapForce的

“Java to EDI”似乎是一种流行的用词。 在您的情况下,您将从源数据(RDBMS,XML,平面文件,iDoc等)创建标准化文本文档(在本例中为835 EDI文档)。 Java是渠道 。 您基本上是通过编写自己的翻译器/解析器来重新发明一个30岁以上的轮子,这通常没有EDI语法检查/ FA协调/强大的合作伙伴工具的好处。 如果我想停止那种疯狂,我会看看Liaison和他们的工具,特别是ECS和Delta。 这些工具是基于Windows的,因此可能不是一种选择,但对于可以轻松与您的架构集成的廉价商业工具,您的投资回报率很快就会显现出来。

没有太多的开源Java EDI API。 但是,仍然有一些你提供的。

我也搜过很多。

Smook需要一些XML配置来读取特定的EDI文件。

然后我尝试了EDI Reader 。 实际上EDI阅读器可以从互联网上下载。

对我来说,它是唯一帮助我将一个EDI文件转换为XML的人。 即使生成的XML也有些复杂。 但是您可以使用任何其他API来解析XML。 这是EDI Reader的下载链接。

阅读EDI阅读器,例如程序,下载。

它是一个ZIP文件,包含JAR文件和一些示例JAVA代码

如果您正在考虑使用Smooks实现解决方案,我只是从Smooks的文档中引用一些有用的信息:

Java到文本(XML,CSV,EDI等)

如本指南的其他部分所述,Smooks核心运行时通过处理由某种类型的输入源(XML,EDI,Java等)生成的SAX事件流并使用这些事件来触发访问者逻辑来工作。 对于Java Source(参见上一节“Java to Java”),Smooks使用XStream生成此SAX事件流。

但是,有时您只想将模板(例如FreeMarker模板)应用于Java Source对象模型并生成XML,CSV,EDI等。您不希望产生生成SAX事件流的浪费开销。你不打算用。 为此,您需要告诉Smooks核心运行时不生成事件流。 这可以通过两种方式之一完成。

通过在提供给Smooks.filterSource的JavaSource实例上调用setEventStreamRequired(false):

JavaSource javaSource = new JavaSource(orderBean); // Turn streaming off via the JavaSource... javaSource.setEventStreamRequired(false); smooks.filterSource(javaSource, result); 

或者,通过关闭Smooks配置中的“ http://www.smooks.org/sax/features/generate-java-event-stream ”function:

       

应用FreeMarker模板时,模板上下文bean的名称(即模板中使用的名称)取决于JavaSource中的Object类型:

如果对象是Map,那么Map实例将成为模板上下文,因此您可以使用Map条目键作为模板中的bean名称。 对于非Map对象,JavaSource类采用Object Class SimpleName并从中创建JavaBean属性名称。 这是用于模板的上下文bean的名称。 因此,如果bean类名是com.acme.Order,那么出于模板的目的,上下文bean名称将是“order”。

资料来源: http : //www.smooks.org/guide