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