Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 50993 invoked by uid 500); 5 Jun 2001 10:20:49 -0000 Mailing-List: contact axis-dev-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@xml.apache.org Received: (qmail 50780 invoked from network); 5 Jun 2001 10:20:42 -0000 Received: from e21.nc.us.ibm.com (32.97.136.227) by h31.sny.collab.net with SMTP; 5 Jun 2001 10:20:42 -0000 Received: from southrelay02.raleigh.ibm.com (southrelay02.raleigh.ibm.com [9.37.3.209]) by e21.nc.us.ibm.com (8.9.3/8.9.3) with ESMTP id GAA76776 for ; Tue, 5 Jun 2001 06:14:13 -0500 Received: from d04nm301.raleigh.ibm.com (d04nm301.raleigh.ibm.com [9.67.228.166]) by southrelay02.raleigh.ibm.com (8.11.1/NCO v4.96) with ESMTP id f55AKoC33080 for ; Tue, 5 Jun 2001 06:20:50 -0400 Importance: Normal Subject: Re: cvs commit: xml-axis/java/src/org/apache/axis/utils/cache JavaMethod.java To: axis-dev@xml.apache.org X-Mailer: Lotus Notes Release 5.0.5 September 22, 2000 Message-ID: From: "Sam Ruby" Date: Tue, 5 Jun 2001 06:06:18 -0400 X-MIMETrack: Serialize by Router on D04NM301/04/M/IBM(Release 5.0.6 |December 14, 2000) at 06/05/2001 06:20:50 AM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Doug Davis: > > To say that we'll match on # of args but then never use the # of args > when the name is unique was wrong to me. Granted a check for > null would be nice, but I still think it needs to check # of args > since the soap-env might have a different # of args than > the java method and this search will match on it -which is > wrong. Since you are telling me what you thing is wrong, let me return the favor. I realize that you are not accustomed to methods with comments in them, but to change the definintion of what a method does without updating the comments, introducing two bugs in the process, and changing the unit test for that function to stop detecting one of the bugs you introduced certainly seems wrong to me. I added a comment that "-1" should be used when "don't care" is desired. If you wish to complete this by only returning a different # of arguments if -1 is passed, feel free. But before you do, here's some background on the the reasons why the current code is the way it is: 1) It generally is more efficient to do one look up than two. 2) One can produce better error messages if a near match is obtained and verified against. The best xml-soap could do was to say "method not found". In many cases, xml-axis can tell you what signature you were attempting, what signature would work - even in some cases where an argument of the wrong type is passed or an argument is missing entirely. I also presume that you would like to see the MessageContext parameter continue to work. In order to help this, I added a unit test case for this function. You might consider starting to do likewise. Take a look at TestRPC.testMessageContext and Service.targetService. It is not difficult... - Sam Ruby