src/share/jaxws_classes/com/sun/xml/internal/ws/binding/WebServiceFeatureList.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -56,10 +56,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Constructor;
 import java.util.*;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
  * Represents a list of {@link WebServiceFeature}s that has bunch of utility
  * methods pertaining to web service features.

@@ -270,11 +271,11 @@
             final Method featureBuilderMethod = beanClass.getDeclaredMethod("builder");
             final Object builder = featureBuilderMethod.invoke(beanClass);
             final Method buildMethod = builder.getClass().getDeclaredMethod("build");
 
             for (Method builderMethod : builder.getClass().getDeclaredMethods()) {
-                if (!builderMethod.equals(buildMethod)) {
+                if (!builderMethod.equals(buildMethod) && !builderMethod.isSynthetic()) {
                     final String methodName = builderMethod.getName();
                     final Method annotationMethod = annotation.annotationType().getDeclaredMethod(methodName);
                     final Object annotationFieldValue = annotationMethod.invoke(annotation);
                     final Object[] arg = { annotationFieldValue };
                     if (skipDuringOrgJvnetWsToComOracleWebservicesPackageMove(builderMethod, annotationFieldValue)) {

@@ -289,10 +290,11 @@
                 return (WebServiceFeature) result;
             } else {
                 throw new WebServiceException("Not a WebServiceFeature: " + result);
             }
         } catch (final NoSuchMethodException e) {
+            LOGGER.log(Level.INFO, "Unable to find builder method on webservice feature: " + beanClass.getName(), e);
             return null;
         } catch (final IllegalAccessException e) {
             throw new WebServiceException(e);
         } catch (final InvocationTargetException e) {
             throw new WebServiceException(e);