Muhammed, This code has been re-architected, and I fixed this problem a while ago.
You may want to try a new version of Axis. Thanks for the catch! Rich Scheuerle XML & Web Services Development 512-838-5115 (IBM TL 678-5115) "Muhammad Ali Siddiqui" To: <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> <asiddiqui@netpac cc: e.com> Subject: Query About: org.apache.axis.wsdlgen.Emitter 02/04/2002 05:30 PM Please respond to axis-dev Hi Daniel, This is a snapshot of your code from org.apache.axis.wsdlgen.Emitter class: /** Create a PortType * * @param def * @param binding * @throws Exception */ private void writePortType(Definition def, Binding binding) throws Exception{ PortType portType = def.createPortType(); portType.setUndefined(false); portType.setQName(new javax.wsdl.QName(intfNS, clsName + "PortType")); /** @todo should introduce allowInterfaces, to publish all methods from a interface */ /** @todo if allowedMethods is specified always look for inherited methods as well?? */ Method[] methods; if (useInheritedMethods & (allowedMethods != null) && (allowedMethods.trim().length() > 0)) methods = cls.getMethods(); else methods = cls.getDeclaredMethods(); for(int i = 0, j = methods.length; i < j; i++) { if (allowedMethods != null) { if (allowedMethods.indexOf(methods[i].getName()) == -1) continue; } Operation oper = writeOperation(def, binding, methods[i].getName()); writeMessages(def, oper, methods[i]); portType.addOperation(oper); } def.addPortType(portType); binding.setPortType(portType); } I want to ask a question about the for loop. In this for loop you are checking Methods name with indexOf method in String class (the red line). This method simply checks for an instance of String accurance in the main String object and returns the starting index of the string provided as a parameter. My queastion is: lets say there are two methods, one with the name foo() and another with the name foo1(). I just want method foo1 to be published as a webservice. But since your are itterating all the methods declared in the class, your code will publish both foo1() and foo() in the WSDL, since foo is a substring of foo1. Please notify me if it is a bug, or you did it intentionally? Best Regards Ali