You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

EDI DataFormat

This component ships with a EDI dataformat that can be used to format from a java.io.InputStream to XML as a org.w3c.Document Object.

  • marshal = currently not supported by Smooks
  • unmarshal = from stream to XML (can be used when reading EDI files)

The EDIDataFormat must be configued with either a:

  • setSmooksConfig(configfile) = a fully Smooks configuration file
  • setMappingModel(modelfile) = just the mapping model xml file and Camel will use a default Smooks configuration

To use the data format simply instantiate an instance, set the configuration (above) and invoke the unmarshal operation in the route builder:

DataFormat edi = new EDIDataFormat();
edi.setMappingModel("my-order-mapping.xml");
...
from("file://edi/in").
  unmarshal(edi).
  to("jms:queue:edi");

And you can also provide the full Smooks configuration file where you can configure Smooks as you want, in case the default configuration isn't useful:

DataFormat edi = new EDIDataFormat();
edi.setSmooksConfig("my-smooks-config.xml");
...
from("file://edi/in").
  unmarshal(edi).
  to("jms:queue:edi");

The default configuration file is provided as a resource in the jar in the location: org/apache/camel/dataformat/edi/default-smooks-config.xml

  • No labels