From fa25ac78a76be12637e0506a3db35730f9f2f8d4 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Wed, 21 Nov 2007 00:54:26 +0000 Subject: [PATCH] SWS-238 --- core/pom.xml | 6 +++++- .../endpoint/mapping/AbstractMethodEndpointMapping.java | 9 +++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index cecfa801..8bbae96f 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -54,6 +54,10 @@ org.springframework spring-context + + org.springframework + spring-aop + org.springframework spring-web @@ -165,4 +169,4 @@ test - \ No newline at end of file + diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/mapping/AbstractMethodEndpointMapping.java b/core/src/main/java/org/springframework/ws/server/endpoint/mapping/AbstractMethodEndpointMapping.java index 2cc3ac4b..8f08d5d5 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/mapping/AbstractMethodEndpointMapping.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/mapping/AbstractMethodEndpointMapping.java @@ -20,6 +20,7 @@ import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; +import org.springframework.aop.support.AopUtils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContextException; import org.springframework.core.JdkVersion; @@ -136,17 +137,13 @@ public abstract class AbstractMethodEndpointMapping extends AbstractEndpointMapp /** * Return the class or interface to use for method reflection. *

- * Default implementation returns the target class for a CGLIB proxy, and the class of the given bean else (for a - * JDK proxy or a plain bean class). + * Default implementation delegates to {@link AopUtils#getTargetClass(Object)}. * * @param endpoint the bean instance (might be an AOP proxy) * @return the bean class to expose */ protected Class getEndpointClass(Object endpoint) { - Class clazz = endpoint.getClass(); - // The following is actually in Spring 2 ClassUtils.getUserClass, but since Spring-WS is Spring 1.2.9 upwards, - // we can't use it - return clazz != null && clazz.getName().indexOf("$$") != -1 ? clazz.getSuperclass() : clazz; + return AopUtils.getTargetClass(endpoint); } }