使用mule进行EDI转换

时间:2014-11-20 06:19:27

标签: mule

我想知道是否有办法将EDI文件转换为mule中的其他格式。我需要从EDI转换为XML。我可以使用带有骡子的smooks插件来做到这一点。想知道在Mule中是否有更简洁的方法,比如使用datamapper。请建议。

1 个答案:

答案 0 :(得分:0)

我担心smooks社区扩展看起来几乎被抛弃了,但你可以使用像这样的Java转换器轻松转换:

public abstract class EdiSmooksTransformer extends AbstractTransformer 
{
    private Smooks smooks; 

    public EdiSmooksTransformer() throws IOException, SAXException 
    {
        smooks = new Smooks();
        smooks.setReaderConfig(new EDIReaderConfigurator("MY_EDI_CONFIG_FILE_PATH_HERE"));
    }

    @Override
    protected Object doTransform(Object src, String enc) throws TransformerException 
    {
        StringResult stringResult = new StringResult();
        smooks.filterSource(new StreamSource((BufferedReader) src), stringResult);
        return stringResult.getResult();
    }

}