@ FFDCIgnore ( value = { SecurityException . class , IllegalAccessException . class , IllegalArgumentException . class , InvocationTargetException . class } ) private void callValidationMethod ( String methodName , Object [ ] paramValues , Object theProvider ) { if ( theProvider == null ) { return ; } Method m = cxfBeanValidationProviderMethodsMap . get ( methodName ) ; if ( m == null ) { return ; } try { m . invoke ( theProvider , paramValues ) ; } catch ( SecurityException e ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Can't access the method \"" + m . getName ( ) + "\" due to security issue." + e . getMessage ( ) ) ; } } catch ( IllegalAccessException e ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Can't access the method \"" + m . getName ( ) + "\"." + e . getMessage ( ) ) ; } } catch ( IllegalArgumentException e ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Illegal argument to the method \"" + m . getName ( ) + "\"." + e . getMessage ( ) ) ; } } catch ( InvocationTargetException e ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Invocation of the method \"" + m . getName ( ) + "\" fails" + e . getMessage ( ) ) ; } /** * throw the javax.validation.ValidationException to keep the same behavior as CXF expected */ Throwable validationException = e . getTargetException ( ) ; if ( null != validationException && validationException instanceof RuntimeException ) { throw ( RuntimeException ) validationException ; } } }
call validation method ignore the exception to pass the FAT