Vesa Sokka created NIFI-7969: -------------------------------- Summary: XMLReader / ValidateRecord: arrays are not read correctly Key: NIFI-7969 URL: https://issues.apache.org/jira/browse/NIFI-7969 Project: Apache NiFi Issue Type: Bug Components: Core Framework, Extensions Affects Versions: 1.12.0, 1.9.0 Reporter: Vesa Sokka Attachments: image-2020-10-30-13-09-08-833.png
I'm trying to convert XML to JSON with ValidateRecord using XMLReader. Arrays with multiple elements work fine, but an *array with only one element fails*. In XMLReader docs it says clearly: _"If a field in a schema is embedded in an array, the *reader expects zero, one or more* occurrences of the field in a record. "_ But in fact an array with only one field is transferred to "invalid" with an error message: "Record #1 is invalid due to: content1 is not a valid value for /array_field: Value is of type java.lang.String but was expected to be of type ARRAY[STRING]" examples modified from: [https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-record-serialization-services-nar/1.12.1/org.apache.nifi.xml.XMLReader/additionalDetails.] !image-2020-10-30-13-09-08-833.png|height=250! _Both examples have same schema_; {code:json} { "namespace": "nifi", "name": "test", "type": "record", "fields": [ { "name": "array_field", "type": { "type": "array", "items": "string" } } ] } {code} *Example 1* (success) {code:xml} <record> <array_field>content1</array_field> <array_field>content2</array_field> </record> {code} --> *valid*+:+ {code:json} [{"array_field":["content1","content2"]}] {code} *Example 2* (invalid): Same as example 1, but the second array_field removed {code:xml} <record> <array_field>content1</array_field> </record> {code} --> *invalid* {code:json} [{"array_field":"content1"}]{code} *Seems to be a BUG or is this an error in the processor documentation?* -- This message was sent by Atlassian Jira (v8.3.4#803005)