16. Data input

There are two ways to specify a non-XML input binding in the configuration:

Command line (long): --data-input contentType@port=uri
Command line (short): -dcontentType@port=uri
Ant task: For detailed information on how to specify input and output files in the Ant task, see Section 2.2, “Input and output files and filesets” and Section 4.1, “input”

If the port and uri do not contain an at sign, the contentType specification can be left out. In this case the content type will be determined from the contents of the URI. If the content type cannot be determined from the contents of the URI, the content type is guessed from the URI name. If the content type cannot be guessed from the URI name, it is set to "application/octet-stream". If you have to give an explicit content type because the port or uri contain an at sign, but you don't know the content type, you can set it to "content/unknown" which is the same as leaving it out and will try to determine the content type from content or name.

If the detected or explicitly specified content type is equal to application/xml, ends in +xml, starts with text/ or has a charset of utf-8 specified, the input is treated as text, otherwise the input gets base64 encoded automatically before it is given to the pipeline.

If the uri does not contain an equals sign, the port specification can be left out and the input will be applied to the primary non-parameter input port.