Nav
You are viewing an older version of this section. Click here to navigate to the latest version.

DataMapper Input Error Policy for Bad Input Data

DataMapper will continue to be fully supported in all current and future versions of Mule ESB 3.x, however it will be removed in Mule 4.0 in favour of the Transform Message component (based on DataWeave code). We recommend that if you wish to take advantage of the new capabilities of DataWeave or if you start new projects, upgrade now.

A migration tool is now included in Studio, which assists in converting a DataMapper map to DataWeave. Right click on a DataMapper, select Migrate to DataWeave, and follow the instructions.

dw migrator

If you don’t see DataMapper on your palette, you can enable it by going to PreferencesAnypoint StudioPalette Profiles and ticking the checkbox Show deprecated Mule Components and Attributes.

To handle the possibility of bad input data (such as input data that does not comply with the actual types specified in the DataMapper metadata), Anypoint DataMapper provides an Error Policy property for all input object types. Use this to set the tolerance level for bad input data, and how to handle it when it is found. 

The available policies include:

Policy Description

Strict (default)

If an input error is found, stop parsing input data and abort further processing.

Controlled

Count input errors, log details about the error, skip the field that contains the error. Continue processing, until the count of errors exceeds the user-configured Max error count property. Note that the default value of zero means unlimited errors will be tolerated and logged.

Lenient

Skip the field that contains the error; do not log details about the error; and continue to process any remaining records.

Setting Input Error Policy

The input Error Policy can only be set from the Input properties dialog from the DataMapper Mapping View. This option is not specified during initial creation of input metadata. 

All of the different input types have an Error Policy field in their respective Properties dialogs. For example, see Error Policy in the CSV properties dialog:

csv_properties