【发布时间】:2017-09-08 00:18:21
【问题描述】:
我正在使用 talend-ESB 并希望使用 smooks 将 EDI 消息解析为 XML,我的正文为空。代码如下所示。
from(
"file://D:/cimt/InvoiceEDI_Mapping/" + "?noop=true"
+ "&autoCreate=true" + "&flatten=false"
+ "&fileName=InDev_EDI_Msg.txt" + "&bufferSize=128")
.routeId("TestSmooksConfig_cFile_1")
.log(org.apache.camel.LoggingLevel.WARN,
"TestSmooksConfig.cLog_1", "${body}")
.id("TestSmooksConfig_cLog_1")
.to("smooks://EDI_Config.xml")
.to("log:TestSmooksConfig.cLog_2" + "?level=WARN")
.id("TestSmooksConfig_cLog_2");
}
我的 Talend 路线如下所示。
我使用了以下一组外部依赖项。 milyn-commons-1.7.0.jar milyn-smooks-camel-1.7.0.jar milyn-smooks-edi-1.7.0.jar milyn-smooks-core-1.7.0.jar jaxen-1.1.6.jar milyn-edisax-parser-1.4.jar
另外,我看到一个奇怪的行为,在执行时,我仍然看到在 cJavaDSLProcessor 之前“开始”,这最初让我怀疑它是否被执行。但后来,当我故意在 EDI-Mapping 中出错时,路由抛出错误,这让我确信它确实解析了 EDI 消息。
我在发这个问题之前也搜索过,在这个link发现了一个类似的问题
我尝试将我的 org.milyn.* jar 版本降低到 1.4.0,并得到一个异常,即路由无法注册 smooks 组件。所以我继续使用 1.7.0 版本的 org.milyn.* jars。
【问题讨论】:
标签: apache-camel talend edi smooks