问题标签 [edifact]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - Maven 在 mvn 程序集上的 fat jar 中的错误文件夹下打包 smooks edifact 模型
我正在使用包含 Smooks 和 sevreal org.milyn.edi.unedifact 映射的 maven 构建一个 fat-JAR,就像许多其他依赖项一样。由于只允许使用一种映射模型,因此我在 main 中选择使用哪一种,如下所示
ediFileModelUrn
看起来像"urn:org.milyn.edi.unedifact:d95a-mapping:1.4"
例如
测试运行良好,如果我运行,会按预期生成一个胖罐mvn package assembly:assembly
。
但是,如果我尝试使用该 jar 加载映射失败,因为它们是org.milyn.edi.unedifact:d95a-mapping:1.4
在类路径中(和一些其他映射)下查找的。
我得到一个
所以我看着建好的罐子。它和它里面的所有类都很好,除了映射。虽然该 jar 中的每个其他类都很好地打包到它所属的包命名位置,例如
de.somecompany.someproject.SomeClass
=> de/somecompany/someproject/SomeClass.class
) edifact 映射被放到名为 like 的文件夹中org_milyn_edi_unedifact/d95b-mapping/1_4
。
看起来在所有东西都被装进那个胖罐子之前,路径中的所有东西都.
被替换了。_
该问题仅出现在映射中。所有其他依赖项都按应有的方式打包,这让我认为这是 milyn 打包中的错误。
我的 POM 看起来像这样:
我该如何解决该问题,以便正确生成路径并找到映射?或者我是否必须更改初始化映射的方式。但是为什么测试会正常运行呢?
mule - 如何在 mule 的 data waever 组件中创建 edifact 文件
我收到一个 xml 文件,我的要求是从该 xml 创建一个 edifact 文件。但是在 mule 的 dataweaver 组件中,不支持 edifact 文件格式。那么有没有一种方法可以从 dataweaver 或任何其他组件生成 mule 中的 edifact。
xml - 如何使用 asp.net mvc 5 c# 生成 EDIFACT 文件
我正在使用运输域应用程序,我需要将一些数据转换为 EDIFACT 格式(客户说“到美国海关的航班清单。这些将以 .txt UN/EDIFACT 格式发送”)。在c#中可以吗?市场上有没有第三方工具?开源支付的费用是多少。我实际上不知道 EDIFACT,只是在 google 上搜索并找到了它的完整形式和这个 artical。EDIFACT 到 XML,但没有找到任何 xml 或 json 或任何到 EDIFACT 的东西。我也找到了一个 pdf这一个并且压力更大,它是自 1970 年以来的旧 EDI 标准。如果您有任何建议或相关代码,或者与此相关的任何事情,请分享它,它可能对我有所帮助。任何帮助将不胜感激。提前致谢 !
mule - mule dataweaver 中的 aperak edi 文件
我正在尝试从 mule 数据编织器组件创建 aperak-edifact 文件。这是我的一段代码
输出
但是创建的输出都在一行中,我希望它逐行出现。那么我怎样才能为 edifact 引入新行任何帮助表示赞赏
预期产出
xml - XSD 中的 X-Path 2.0 (assert): "count(//elem/text() = 'test') > 0" 始终为真,即使字符串不匹配
我想使用 XSD1.1 断言功能来验证内容级别的元素。(更准确地说,我想检查以 XML 表示的 EDIFACT 中是否存在内容组合,但这不是重点......)
为了测试我的 XPath,我构建了以下小型测试场景:
XML
要求是:我想检查一下,我有 test1 + test2 字符串的组合,以及 something1 和 something2 字符串的组合。可能有像other1 + other2这样的组,可以有,但我不关心。这里三组的顺序也应该没有影响。
我必须测试的 XSD 是:
有趣的是:
或将其分解:
我的问题是:即使字符串不匹配,表达式(更具体的计数)也会返回 true。假设,我针对“test1”进行测试,但我的字符串是“test”:
在其中自我工作。它正确地返回真或假。但是对它使用 count 是行不通的。(似乎总是返回真)
我假设,count 在这里不是正确的解决方案,问题是,我不想在“完全正确”上测试每个组,但毕竟所有组在所有重复中“这个和这个特定组合至少发生一次”的组。
我正在 Saxon 9 EE 上对此进行测试,但 XPath 在其他 XPath 实现上也具有相同的行为。
任何帮助将不胜感激。
谢谢你,e
编辑:
在 Mads Hansen 和 Michael Kay(谢谢!)的帮助下完成这项工作后,我还有最后一个障碍要跳过:
考虑这种情况:
使用这个 XPath
计数(组 [elem1/text() = 'test1' 和 elem2/text() = 'test2']) > 0)
现在这导致上面的示例无效(如我所愿),而我已经验证了上面的原始 XPath,因为它没有在 .
java - 如何从 Edifact d96a .txt 文件中读取交货日期?
我从使用 EDI 发送的 .txt 文件中检索交货日期时遇到问题。
我的客户必须有机会在 .txt 文件中设置该行:
'DTM+76: 20160702 :102
当他们从网站订购东西以设置未来交付的交付日期时。
我想获取日期(在本例中为 2016-07-02)并将其设置为 deliveryDate 变量(然后将其设置在数据库中)。
我正在考虑在 java 中使用 Scanner 来查看文件是否包含文本“DTM:76”,然后读取该行的日期部分,例如Find a string (or a line) in a txt File Java。EDI 是否可能/有效,或者有更好的方法吗?
对我来说最好的解决方案是这样的:
有关 EDI 和交货日期的信息:http ://www.gs1.org/sites/default/files/docs/eancom/ean02s4/part2/insdes/053.htm https://www.stylusstudio.com/edifact/D96A/订单.htm
有什么建议么?
edi - 为什么在 EDIFACT 中字段 CPS 是强制性的?
根据 EDIFACT 的规范,DESADV 中 CPS 是强制性的。 https://www.stylusstudio.com/edifact/D97A/CPS_.htm 但是我们没有任何数据可以在 CPS 段中发送。我们能否构造一个 DESADV 消息,其中包含段组#15 中的 LIN 和 QTY 段,而没有 CPS 段? https://www.stylusstudio.com/edifact/D97A/DESADV.htm#SG15
java - EDI 流到 Java 对象转换中的异常
我正在尝试读取 EDI 消息并将其转换为 Java 对象,但我以以下异常结束。
线程“主”org.milyn.SmooksException 中的异常:无法过滤源。在 org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:97) 在 org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:64) 在 org.milyn.Smooks._filter(Smooks.java :526) at org.milyn.Smooks.filterSource(Smooks.java:482) at org.milyn.Smooks.filterSource(Smooks.java:456) at org.milyn.edi.unedifact.d97a.D97AInterchangeFactory.fromUNEdifact(D97AInterchangeFactory. java:58) at org.milyn.edi.unedifact.d97a.D97AInterchangeFactory.fromUNEdifact(D97AInterchangeFactory.java:40) at com.ibm.gpohub.edi.common.SmooksSample.main(SmooksSample.java:18) 引起:org .milyn.edisax.EDIParseException:EDI 消息处理失败 [ORDRSP][D:97A:UN]。段 [FTX],字段 4 (TEXT_LITERAL),组件 1 (Free_text_-_-1) 应包含一个值。目前在 org.milyn.edisax.EDIParser.mapComponent(EDIParser.java:687) 的 org.milyn.edisax.EDIParser.mapField(EDIParser.java:636) 的第 6 段。 (EDIParser.java:606) 在 org.milyn.edisax.EDIParser.mapSegment(EDIParser.java:564) 在 org.milyn.edisax.EDIParser.mapSegments(EDIParser.java:535) 在 org.milyn.edisax.EDIParser。 mapSegments(EDIParser.java:453) at org.milyn.edisax.EDIParser.parse(EDIParser.java:428) at org.milyn.edisax.EDIParser.parse(EDIParser.java:410) at org.milyn.edisax.unedifact .handlers.UNHHandler.process(UNHHandler.java:97) 在 org.milyn.edisax.unedifact.handlers.UNGHandler.process(UNGHandler.java:58) 在 org.milyn.edisax.unedifact.handlers.UNBHandler.process(UNBHandler .java:
这是代码片段:
EDI消息:
UNA:+.? UNB+UNOC:3+662424795TEST:16+IBMEDIID:ZZ+160330:1416+IG-62779496 UNG+ORDRSP+662424795TEST:16+IBMEDIID:ZZ+160330:1420+FG-34160863+UN+D:97A UNH+80534414+ ORDRSP:D:97A:UN BGM+231+20160330+4 DTM+69:20150501150000UTC?+12:304 FTX+SSR+++:空白 FTX+AAR++ST FTX+COI+++CLW FTX+PRI++8 FTX+ DEL++06 FTX+CUR+++将所有物品打包成一个盒子 FTX+DIN+++发货前打电话给客户 FTX+PRD+++1:1:PC01 FTX+AAP+++900:接受RFF +PC:20AMS67000 RFF+SE:PC01K33E RFF+SZ:ND RFF+ABO:Y RFF+CO:IBM1234501 DTM+4:20150501010101UTC?+12:304 RFF+ACW:CASE_12345 RFF+ADG:Y RFF+ACH:Y RFF +ZOD:order_desk01 RFF+ZSD:IBM RFF+ZPD:30006672 RFF+ZCS:空白 RFF+ZZZ NAD+SE+30001234++IBM NAD+BY+US00000001++可口可乐:CA+9/F:841 WEBSTER ST:压力3:空白+SAN FRANCISCO++94117+US CTA+PD+:Jordan Surzyn COM+Minako@DHL.com:EM COM+6508624654:
谁能指导我,我在哪里做错了?提前致谢。
biztalk - BizTalk EDIFACT 子文档拆分
我们的合作伙伴发送一个包含一些自定义细分的 EDIFACT。我已经更新了现有的 edifact 架构之一以拥有这些自定义段。快乐的一天场景正在发挥作用。我们现在正在尝试实施负面情景。企业希望 BizTalk 处理交换中的成功消息并为失败的消息引发错误。我没有使用合作伙伴协议。在 EDIFACT 回退设置中,我设置了入站批处理选项以将交换拆分为事务集 - 出错时暂停事务集。
问题:我的合作伙伴将在同一个事务集中(即在 UNH-UNT 中)发送多个数据(在我们的例子中是多个 S01Loop)。如果我应用上述逻辑,整个交换就会失败。
要求:我们希望特定的循环数据失败,其余的积极数据应该通过。
我尝试过的:对于基于 HIPAA 的 edifact 文件,有一个名为 subdocument_break 的概念。我在 XSD 中应用了这些注释。不幸的是,它没有用。
如果没有开箱即用的解决方案,我计划编写一个 EDI 拆分器管道组件,它将是自定义平面文件反汇编器组件,它将多个数据拆分为单独的实例。然后我将使用 EDI 反汇编程序来解析数据。
让我知道是否有人在 BizTalk 中提供了开箱即用的功能来执行此操作。
edi - EDI、AS2 和 GS1 之间有什么区别,它们如何协同工作?
我正在学习 EDI,并且有许多似乎重叠的首字母缩写词和标准。EDI(和 EDI 转换器)和 AS2(似乎是基于 HTTP 的 EDI)有什么区别?然后是 GS1,它有自己的子集(GS1 EANCOM GS1 XML GS1 UN/CEFACT XML)和 EDIFACT。
为什么要将像 BOTS 这样的 EDI 翻译器与 AS2 服务器一起使用?它们是互补的吗?
是否有关于所有这些标准如何在供应链背景下协同工作的地图、指南或解释?(即:运送到客户自己的仓库或商店的仓库)。
谢谢