Skip to main content

After adding FeatureReader_2, the reading order started prioritizing the XML block. Then, a join occurs with the Data Dictionary block, but since the XML is fully read first, when the flow reaches the FeatureJoiner, the data dictionary has not yet been processed, causing an error.

This started after I added FeatureReader_2, because I need it to read shapefile files to extract the name and coordinate system, which are parameters defined in my spreadsheet with the paths to each shapefile.

Is there any way to make the XML and Data Dictionary blocks read simultaneously? Or, since the FeatureReader is a reader, will it always have priority?

Hi ​@francisco_1988 ,

I'm not sure why you determine the cause of the error was the order of input features, since the Help document on FeatureJoiner says:

Output Ports
<Rejected>
Invalid features from any input port. Features will be rejected if a Join On value is missing or null.


Firstly check if the Join On value from the feature input on the Left port is valid. Then, you will have to investigate the preceding process to specify the actual problem if the Join On value was invalid.


Hi ​@francisco_1988 ,

I'm not sure why you determine the cause of the error was the order of input features, since the Help document on FeatureJoiner says:

Output Ports
<Rejected>
Invalid features from any input port. Features will be rejected if a Join On value is missing or null.


Firstly check if the Join On value from the feature input on the Left port is valid. Then, you will have to investigate the preceding process to specify the actual problem if the Join On value was invalid.

Since it only read the XML block, it assumed the join was missing because it didn't read the data dictionary block. That led me to suspect it might be due to the reading priority of the FeatureReader_2... 


Two things you can try:

Go to the Navigator and then under Workspace Parameters > Translation > Rejected Feature Handling and set it to Continue Translation. Then run it with cache on till the FeatureJoiner. Inspect the features. If there is an error there will be an attribute containing sometimes a message that gives better information on what is going wrong.

The other thing is answering your question more or less and is setting the runtime order. If you want the AttributeCreator part to run first right click on the connection between the FeatureReader and the AttributeCreator and click on Set Connection Runtime Order. In the pop-up make sure the AttributeCreator is on top.


Two things you can try:

Go to the Navigator and then under Workspace Parameters > Translation > Rejected Feature Handling and set it to Continue Translation. Then run it with cache on till the FeatureJoiner. Inspect the features. If there is an error there will be an attribute containing sometimes a message that gives better information on what is going wrong.

The other thing is answering your question more or less and is setting the runtime order. If you want the AttributeCreator part to run first right click on the connection between the FeatureReader and the AttributeCreator and click on Set Connection Runtime Order. In the pop-up make sure the AttributeCreator is on top.

Thank you!


Hi ​@francisco_1988 ,

I'm not sure why you determine the cause of the error was the order of input features, since the Help document on FeatureJoiner says:

Output Ports
<Rejected>
Invalid features from any input port. Features will be rejected if a Join On value is missing or null.


Firstly check if the Join On value from the feature input on the Left port is valid. Then, you will have to investigate the preceding process to specify the actual problem if the Join On value was invalid.

Since it only read the XML block, it assumed the join was missing because it didn't read the data dictionary block. That led me to suspect it might be due to the reading priority of the FeatureReader_2... 

You were actually correct. The error was not a synchronization issue, but rather the lack of a coordinate reference system definition