[ https://issues.apache.org/jira/browse/NIFI-11156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17688721#comment-17688721 ]
David Handermann edited comment on NIFI-11156 at 2/15/23 12:47 AM: ------------------------------------------------------------------- I agree using exceptions for flow control is a poor pattern. With that in mind, the {{SchemaValidator}} and {{StandardSchemaValidator}} are intended to be thin wrappers around the JDK interfaces. {{ValidateXml}} is the only direct reference in the project right now, but maintaining the separation is helpful to keep the {{nifi-xml-processing}} library as streamlined as possible. On a similar note, passing unformatted errors in FlowFile attributes makes it difficult to do anything more than provide detail logging, although that can be useful in itself. With that background, making localized changes in ValidateXml seems like the best way forward to restore the previous behavior. If a new use were outlined describing ways to make use of more structured error handling, that could be worth considering in a subsequent issue. was (Author: exceptionfactory): I agree using exceptions for flow control is a poor pattern. With that in mind, the {{SchemaValidator}} and {{StandardSchemaValidator}} are intended to be thin wrappers around the JDK interfaces. {{ValidateXml}} is the only direct reference in the project right now, but maintaining the separation is helpful to keep the {{nifi-xml-processing}} library as steamlined as possible. On a similar note, passing unformatted errors in FlowFile attributes makes it difficult to do anything more than provide detail logging, although that can be useful in itself. With that background, making localized changes in ValidateXml seems like the best way forward to restore the previous behavior. If a new use were outlined describing ways to make use of more structured error handling, that could be worth considering in a subsequent issue. > ValidateXml Processor - validatexml.invalid.error = Validation failed > --------------------------------------------------------------------- > > Key: NIFI-11156 > URL: https://issues.apache.org/jira/browse/NIFI-11156 > Project: Apache NiFi > Issue Type: Bug > Components: Extensions > Affects Versions: 1.19.1 > Environment: CentOS 7.5, RedHat 7.9 > Temurin - 11.0.17+8 > Reporter: Bilal > Priority: Minor > > _NiFi_ environment was upgraded from 1.15.1 to 1.19.1. The following > situation has occurred with the _ValidateXml_ processor: > _ValidateXml_ processor works correctly on 1.15.1 and > _validatexml.invalid.error_ attribute gives an detail information about the > error. > _ValidateXml_ processor works on 1.19.1 but _validatexml.invalid.error_ > attribute does not give an detail information about the _error. > validatexml.invalid.error_ attriubute only contains “{_}Validation failed{_}” > text. > Similar problem was talked in cloudera community and Eduu said that: > =========== > Hi > [@ChuckE|https://community.cloudera.com/t5/user/viewprofilepage/user-id/98065] > using NiFi 1.15.2 seems to add the error detail in the > "validatexml.invalid.error" attribute. > For example --> "cvc-minLength-valid: Value '' with length = '0' is not > facet-valid with respect to minLength '1' for type 'HotelCode" > This seems to be an issue starting from NiFi 1.16.3, maybe a bug? > You can use NiFi 1.15.2 or custom code as > [@SAMSAL|https://community.cloudera.com/t5/user/viewprofilepage/user-id/80381] > suggested. > =========== > Ref: [How to get the reason for invalid > XML|[https://community.cloudera.com/t5/Support-Questions/How-to-get-the-reason-for-invalid-XML/m-p/348767/highlight/true#M235443]] -- This message was sent by Atlassian Jira (v8.20.10#820010)