EDIFACT EDI Connector 2.10 Reference | MuleSoft Documentation
# EDIFACT EDI Connector 2.10 Reference
## Default Configuration
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
ID used to reference this configuration.  
Expiration Policy | ExpirationPolicy | Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances when appropriate.  
Mule interchange ID |  Identification for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the **Mule ID qualifier** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNB interchange recipient identification must match this value.
  * On the send side, the connector uses this value as the UNB interchange sender identification unless it is overridden in the message parameters.

  
Mule ID qualifier |  Identification qualifier for the Mule app in the exchange (UNB segment). This value is used in combination with the value of the **Mule interchange ID** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNB interchange recipient identification code qualifier must match this value.
  * On the send side, the connector uses this value as the UNB interchange sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

  
Mule application sender/recipient ID |  Identification for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the **Mule application sender/recipient ID qualifier** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNG group recipient identification must match this value.
  * On the send side, the connector uses this value as the UNG group sender identification unless it is overridden in the message parameters.

  
Mule application sender/recipient ID qualifier |  Identification qualifier for the Mule app in the exchange (UNG segment). This value is used in combination with the value of the **Mule application sender/recipient ID** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNG group recipient identification code qualifier must match this value.
  * On the send side, the connector uses this value as the UNG group sender identification code qualifier unless it is overridden in either the send configuration or the message parameters.

  
Partner interchange ID |  Identification for the partner in the exchange (UNB segment). This value is used in combination with the value of the **Partner ID qualifier** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNB interchange sender identification must match this value.
  * On the send side, the connector uses this value as the UNB interchange recipient identification code unless it is overridden in either the send configuration or the message parameters.

  
Partner ID qualifier |  Identification qualifier for the partner in the exchange (UNB segment). This value is used in combination with the value of the **Partner Interchange ID** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNB interchange sender identification code qualifier must match this value.
  * On the send side, the connector uses this value as the UNB interchange recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

  
Partner application sender/recipient ID |  Identification for the partner in the exchange (UNG segment). This value is used in combination with the value of the **Partner application sender/recipient ID qualifier** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNG group sender identification must match this value.
  * On the send side, the connector uses this value as the UNG group recipient identification code unless it is overridden in either the send configuration or the message parameters.

  
Partner application sender/recipient ID qualifier |  Identification qualifier for the partner in the exchange (UNG segment). This value is used in combination with the value of the **Partner application sender/recipient ID** field, and if one field is set, the other must also be set. If set, this value affects both send and receive message handling:
  * On the receive side, the UNG group sender identification code qualifier must match this value.
  * On the send side, the connector uses this value as the UNG group recipient identification code qualifier unless it is overridden in either the send configuration or the message parameters.

  
Schema definitions | Array of String | List of schema file system paths or class paths for the module to use.  
Substitution character | Substitution character used to replace invalid characters in string values when using syntax level `UNOA` or `UNOB`. The use of this substitution character, if set, is controlled by separate parser and writer flags.  
Separators usage |  Enumeration, one of:
  * USE_DEFAULTS
  * USE_SPECIFIED_FOR_WRITES
  * USE_SPECIFIED_FOR_ALL

|  Defines how specified separator and release characters are used:
  * USE_DEFAULTS Use defaults as defined by EDIFACT syntax version standards.
  * USE_SPECIFIED_FOR_WRITES Use standard default delimiters for reads and specified delimiters as defaults for writes.
  * USE_SPECIFIED_FOR_ALL Use specified delimiters as the defaults for both reads and writes.

| USE_SPECIFIED_FOR_ALL  
Data element separator | Default data element separator character.  
Component element separator | Component element separator character.  
Repetition separator | Repetition separator character.  
Segment terminator | Segment terminator character.  
Release character | Release character.  
Timezone offset | Time zone offset from the UTC to apply to the date and time elements in the Interchange Header (UNB) segment. This field accepts only values compliant with ISO 8601 (which are UTC-based), for example, `-01:00`, `+0100`, `-0130`, and so on. If you don’t specify a value for this field, the Interchange Header segment date and times are set to the local time of the Mule runtime.  
Enforce length limits |  Enforce minimum and maximum lengths for receive values:
  * true The connector rejects messages with values that are too long or too short.
  * false The connector uses the values and does not reject the messages.

In either case, the error is logged and reported in CONTRL functional acknowledgments.  
Enforce value repeats |  Enforce repetition count limits for receive values:
  * true The connector rejects messages that have values repeated too many or too few times.
  * false The connector uses the values and does not reject the messages.

In either case, the error is reported in CONTRL functional acknowledgments.  
Enforce valid characters |  Enforce valid characters when using syntax levels UNOA and UNOB:
  * true The connector rejects received messages that contain characters that the syntax level does not allow.
  * false If a substitution character is set, the connector uses it in place of the disallowed characters. Otherwise, the connector passes the disallowed characters through.

  
Allow unknown segments |  Allow unknown segments in a message:
  * true The connector ignores the unknown segments and does not reject the messages.
  * false The connector rejects messages that contain unknown segments.

In either case, the error is reported in CONTRL functional acknowledgments.  
Enforce segment order |  Enforce segment order in a message:
  * true The connect rejects messages that have out-of-order segments.
  * false The connector does not reject messages if their out-of-order segments can be reordered.

In either case, the error is reported in CONTRL functional acknowledgments.  
Allow unused segments |  Allow segments marked as `Unused` in the schema:
  * true The connector ignores unused segments and does not reject the messages.
  * false The connector rejects messages that contain segments marked as `Unused` in the schema. In either case, the error is reported in CONTRL functional acknowledgments.

  
Enforce segment repeats |  Enforce segment repetition count limits in a message:
  * true The connector rejects messages that have a segment repeated too many times.
  * false The connector does not reject the messages.

In either case, the error is reported in CONTRL functional acknowledgments.  
Character encoding override | Character encoding override for receive messages, which must be a Java character encoding name. Normally, character encoding is determined by the syntax identifier in the UNB header segment, but the connector uses this value instead, if it is set.  
Require unique interchanges |  Reject an interchange if the Interchange Control Reference has previously been processed:
  * true Record the interchange numbers previously processed and reject any duplicate interchange numbers from the same partner, as determined by the interchange sender and receiver identification.
  * false The application flow tracks the numbers and handles them appropriately.

  
Require unique groups |  Reject a group if the group control reference was processed previously:
  * true Record the group numbers processed previously and reject duplicate group numbers from the same partner, as determined by the interchange sender and receiver identification.
  * false The application flow tracks the numbers and handles them appropriately.
Enforce segment repeats |  Enforce segment repetition count limits in a message:
  * true The connector rejects messages that have a segment repeated too many times.
  * false The connector does not reject the messages.

In either case, the error is reported in CONTRL functional acknowledgments.  
Character encoding override | Character encoding override for receive messages, which must be a Java character encoding name. Normally, character encoding is determined by the syntax identifier in the UNB header segment, but the connector uses this value instead, if it is set.  
Require unique interchanges |  Reject an interchange if the Interchange Control Reference has previously been processed:
  * true Record the interchange numbers previously processed and reject any duplicate interchange numbers from the same partner, as determined by the interchange sender and receiver identification.
  * false The application flow tracks the numbers and handles them appropriately.

  
Require unique groups |  Reject a group if the group control reference was processed previously:
  * true Record the group numbers processed previously and reject duplicate group numbers from the same partner, as determined by the interchange sender and receiver identification.
  * false The application flow tracks the numbers and handles them appropriately.

  
Require unique messages |  Enforce globally unique Message Reference Numbers (UNH.1) for received messages:
  * true Message reference numbers must be unique across all interchanges received from the same partner and application, as determined by the interchange sender and recipient identification.
  * false Message reference numbers must be unique within a particular interchange.

  
Store time-to-live | Minimum number of days to store interchange and message numbers in the default persistent object store. This value is used only when the configuration requires unique interchanges, message numbers, or both. It sets the entry time-to-live for these stored values.  
Write character encoding |  Enumeration, one of:
  * ASCII_A
  * ASCII_B
  * ISO8859_1
  * ISO8859_2
  * ISO8859_3
  * ISO8859_4
  * ISO8859_5
  * ISO8859_6
  * ISO8859_7
  * ISO8859_8
  * ISO8859_9

| Character encoding used for writing messages.  
Syntax version |  Enumeration, one of:
  * VERSION1
  * VERSION2
  * VERSION3
  * VERSION4

| Syntax version for send messages. This version determines the data structures used for service segments and CONTRL acknowledgment message structures in DataSense metadata for both send and receive messages. The actual message data for receive messages reflects the syntax version used in the received interchange. | VERSION4  
Segment line ending |  Enumeration, one of:

| Line ending to add between segments. This can improve the readability of the output message text.  
Always send UNA | 
  * true Always send a UNA service segment.
  * false Include a UNA in an interchange when the syntax separator characters don’t match the defaults for the syntax version and character encoding in use.

  
Enforce valid characters |  Enforce valid characters when using syntax levels UNOA and UNOB.
  * true The connector rejects received messages that contain characters not allowed by the syntax level.
  * false The connector either uses a substitution character if one is set, or passes the disallowed characters through.

  
Use Functional Groups |  Group messages with the same functional group identifier inside UNG-UNE envelopes:
  * true Groups messages into UNG-UNE segments.
  * false Writes all messages in the same interchange.

  
Unique group numbers |  Send unique message reference numbers (UNG.5):
  * true Assigns unique transaction set numbers across all groups sent to the same partner, as determined by the group sender and recipient identification.
  * false Assigns message reference numbers sequentially within each group and reuses them in different interchanges.

  
Unique message numbers |  Send unique Message Reference Numbers (UNH.1):
  * true Assigns unique transaction set numbers across all interchanges sent to the same partner, as determined by the interchange sender and recipient identification.
  * false Assigns message reference numbers sequentially within each interchange and reuses them in different interchanges.

  
Initial group reference | The initial group control reference used for outgoing messages.  
Initial interchange reference | The initial interchange control reference used for outgoing messages.  
Initial message reference | The initial message reference number used for outgoing messages.  
Request acknowledgments |  Requests acknowledgments for Send interchanges using the Acknowledgment Request field (UNB.9):
  * true Requests CONTRL acknowledgments in all sent interchanges.
  * false Requests receipt confirmations.

  
Test indicator | Test indicator digit to use on Send interchanges. By default, interchanges are not sent as tests.  
Use Supplied Values |  Whether to generate control numbers when writing or use supplied values for control-segment information such as control numbers:
  * true The connector uses the provided control-segment information.
  * false The connector automatically generates control numbers when writing.

  
Interchange control number key | Key-value pair of the interchange control key and interchange control number.  
Message control number key | Key-value pair of the message control key and message control number.  
Group control number key | Key-value pair of the group control key and group control number.  
Truncate values exceeding the length limits |  Whether to truncate values that exceed the length limits:
  * true If the **Enforce length limits** field is also true, the connector trims values that exceed the maximum length.
  * false The connector writes the values as they are.

  
Enforce code set validations |  Whether to enforce code set validations:
  * true The connector enforces code set validations, as defined in the EDIFACT schemas.
  * false The connector does not enforce code set validations.

  
Use Version Association Code |  Whether to use UNH0205 (Version Association Code):
  * true The connector uses UNH0205 (Version Association Code).
  * false The connector does not use UNH0205 (Version Association Code)

  
Use segment line ending in the last line |  Whether to use segment line ending characters in the last line of the segment:
  * true The connector uses the configured **Segment line ending** value at the end of the last line in the segment.
  * false The connector does not use the configured **Segment line ending** value at the end of the last line in the segment.

  
Lock Mechanism |  Enumeration, one of:
  * RUNTIME_LOCK_MANAGER
  * OBJECT_STORE

|  Determines the mechanism used to manage locks for control number sequencing. Valid values are:
  * `AUTO` The connector chooses between `OBJECT_STORE` and `RUNTIME_LOCK_MANAGER` based on the environment in which the Mule app is running.
    * When the app is deployed to CloudHub 1.0, the connector uses the `OBJECT_STORE` mechanism for lock management.
    * When the app is deployed to standalone Mule runtime, Runtime Fabric, or CloudHub 2.0, the connector uses the runtime’s distributed locking.
You can use this option with:
    * CloudHub 1.0 deployments with multiple workers or replicas
    * CloudHub 2.0 and Runtime Fabric deployments with one worker or replica
    * Hybrid standalone deployments, including clustered Mule runtimes
  * `RUNTIME_LOCK_MANAGER` The connector always uses the runtime’s distributed locking mechanism. (Recommended when the environment has only one worker.) You can use this option with:
    * CloudHub 1.0, CloudHub 2.0, and Runtime Fabric deployments with one worker or replica
    * Hybrid standalone deployments, including clustered Mule runtimes
  * `OBJECT_STORE` The connector always uses an alternative mechanism in environments in which the runtime’s distributed locking mechanism doesn’t work. (Recommended when the environment has more than one worker.) You can use this option with:
    * CloudHub 1.0, CloudHub 2.0, and Runtime Fabric deployments with multiple workers or replicas
    * Hybrid standalone deployments, including clustered Mule runtimes

  
## Operations
  * 

### Read
`<edifact:read>`
Transforms an input stream of EDI text into maps and lists the structure of EDI data.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
Read Content | Input payload. | `#[payload]`  
Target Variable | Name of the variable that stores the operation’s output.  
Target Value | Expression that evaluates the operation’s output. The expression outcome is stored in the **Target Variable** field. | `#[payload]`  
#### For Configurations
#### Throws
  * EDIFACT:SCHEMA
  * EDIFACT:WRITE
  * EDIFACT:UNKNOWN
  * EDIFACT:PARSE


### Write
`<edifact:write>`
Transforms the maps and lists the structure of EDI data in the EDI text stream.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | The name of the configuration to use.  
Write Content | Input payload. | `#[payload]`  
Streaming Strategy |  Enumeration, one of:
  * Repeatable file store stream
  * Repeatable in memory stream
  * Non repeatable stream
## Operations
  * 

### Read
`<edifact:read>`
Transforms an input stream of EDI text into maps and lists the structure of EDI data.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
Read Content | Input payload. | `#[payload]`  
Target Variable | Name of the variable that stores the operation’s output.  
Target Value | Expression that evaluates the operation’s output. The expression outcome is stored in the **Target Variable** field. | `#[payload]`  
#### For Configurations
#### Throws
  * EDIFACT:SCHEMA
  * EDIFACT:WRITE
  * EDIFACT:UNKNOWN
  * EDIFACT:PARSE


### Write
`<edifact:write>`
Transforms the maps and lists the structure of EDI data in the EDI text stream.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | The name of the configuration to use.  
Write Content | Input payload. | `#[payload]`  
Streaming Strategy |  Enumeration, one of:
  * Repeatable file store stream
  * Repeatable in memory stream
  * Non repeatable stream

| Configures how Mule processes streams. | Repeatable file store stream  
Target Variable | Name of the variable that stores the operation’s output.  
Target Value | Expression that evaluates the operation’s output. The outcome of the expression is stored in the **Target Variable** field. | `#[payload]`  
#### For Configurations
#### Throws
  * EDIFACT:SCHEMA
  * EDIFACT:WRITE
  * EDIFACT:UNKNOWN
  * EDIFACT:PARSE


### Write batch
`<edifact:write-batch>`
Merges individual EDIFACT messages created and accumulated over a period of time into a single interchange (UNB).
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
Batch Content | Input payload. | `#[payload]`  
Target Variable | Name of the variable that stores the operation’s output.  
Target Value | Expression that evaluates the operation’s output. The outcome of the expression is stored in the **Target Variable** field. | `#[payload]`  
#### For Configurations
#### Throws
  * EDIFACT:SCHEMA
  * EDIFACT:WRITE
  * EDIFACT:UNKNOWN
  * EDIFACT:PARSE


## Types
### Expiration Policy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max Idle Time | Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.  
Time Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| A time unit that qualifies the **Max Idle Time** field.  
### Repeatable in memory stream
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Initial Buffer Size | Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by **Buffer Size Increment** , with an upper limit of the **Max In Memory Size** value.  
Buffer Size Increment | Amount by which the buffer size expands if it exceeds its initial size. Setting a value of `0` or lower specifies that the buffer can’t expand.  
Max Buffer Size | Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a `STREAM_MAXIMUM_SIZE_EXCEEDED` error. A value of less than or equal to `0` means no limit.  
Buffer Unit |  Enumeration, one of: | The unit in which the fields in this table are expressed.  
### Repeatable file store stream
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max In Memory Size |  Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:
  * Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk. This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.
  * Configure a smaller buffer size to decrease memory load at the expense of response time.

  
Buffer Unit |  Enumeration, one of: | Unit for the **Max In Memory Size** field.  
## See Also
  * MuleSoft Help Center