@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;
            }

        }
    }
@ 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 ( ) ) ; } Throwable validationException = e . getTargetException ( ) ; if ( null != validationException && validationException instanceof RuntimeException ) { throw ( RuntimeException ) validationException ; } } }
call validation method
ignore the exception to pass the FAT

@param methodName
@param paramValues
@param theProvider