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