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:).
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:).
unmarshal(edi).
to("jms:queue:edi");
Dependencies
To use EDI in your camel routes you need to add the a dependency on camel-smooks which implements this data format.
This component is hosted at the Camel Extra
project since the Smooks library uses a licenses which cant be included directly in an Apache project.