[ 
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)

Reply via email to