You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2004/01/12 17:17:05 UTC
cvs commit: ws-axis/java/src/org/apache/axis/description JavaServiceDesc.java
dims 2004/01/12 08:17:05
Modified: java/src/org/apache/axis/description JavaServiceDesc.java
Log:
Fix for Bug 26044 - org.apache.axis.description.ServiceDesc.syncOperationToClass() ignores superInterface methods of interfaces
Revision Changes Path
1.6 +12 -3 ws-axis/java/src/org/apache/axis/description/JavaServiceDesc.java
Index: JavaServiceDesc.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/description/JavaServiceDesc.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JavaServiceDesc.java 25 Nov 2003 07:06:08 -0000 1.5
+++ JavaServiceDesc.java 12 Jan 2004 16:17:05 -0000 1.6
@@ -619,7 +619,7 @@
// Find the method. We do this once for each Operation.
- Method [] methods = implClass.getDeclaredMethods();
+ Method[] methods = getMethods(implClass);
// A place to keep track of possible matches
Method possibleMatch = null;
@@ -757,6 +757,15 @@
}
}
+ private Method[] getMethods(Class implClass) {
+ if (implClass.isInterface()){
+ // Returns all methods incl inherited
+ return implClass.getMethods();
+ } else {
+ return implClass.getDeclaredMethods();
+ }
+ }
+
private int checkMessageMethod(Method method) {
// Collect the types so we know what we're dealing with in the target
// method.
@@ -908,7 +917,7 @@
return;
}
- Method [] methods = implClass.getDeclaredMethods();
+ Method [] methods = getMethods(implClass);
for (int i = 0; i < methods.length; i++) {
if (Modifier.isPublic(methods[i].getModifiers()) && !isServiceLifeCycleMethod(implClass, methods[i])) {
@@ -1074,7 +1083,7 @@
return;
}
- Method [] methods = implClass.getDeclaredMethods();
+ Method [] methods = getMethods(implClass);
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];