Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 72422 invoked from network); 1 Feb 2009 14:56:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Feb 2009 14:56:22 -0000 Received: (qmail 8314 invoked by uid 500); 1 Feb 2009 14:56:15 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 8260 invoked by uid 500); 1 Feb 2009 14:56:15 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 8251 invoked by uid 99); 1 Feb 2009 14:56:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Feb 2009 06:56:15 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [67.19.18.210] (HELO aalto.aaltohost.com) (67.19.18.210) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Feb 2009 14:56:08 +0000 Received: by aalto.aaltohost.com (Postfix, from userid 1017) id 62B074892DA; Sun, 1 Feb 2009 09:55:45 -0500 (EST) Received: from [192.168.1.2] (pool-96-237-119-225.bstnma.fios.verizon.net [96.237.119.225]) (using SMTP over TLS) by localhost.localdomain (tmda-ofmipd) with ESMTP; Sun, 01 Feb 2009 08:55:42 -0600 Message-ID: <4985B7AE.4010407@thoughtcraft.com> Date: Sun, 01 Feb 2009 09:54:38 -0500 User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: axis-dev@ws.apache.org Subject: Re: -1 for SVN revision 727413 (WSDL2Java change) References: <49636F4E.6010906@thoughtcraft.com> <60708f4b0901062047j2e681d15gecd4abf173c68e07@mail.gmail.com> <496435E4.4000204@thoughtcraft.com> <60708f4b0901062224r5849f32didfee60f813bc4d34@mail.gmail.com> <49661324.1040102@thoughtcraft.com> <60708f4b0901082124u4d30ea9bn19b8d75e5ba1b0bc@mail.gmail.com> <60708f4b0901252121i76a5baaexce444aa517ebfbc9@mail.gmail.com> <60708f4b0901292223p35d02614idc6e4dd35df3e6fd@mail.gmail.com> <49846EAD.9070407@thoughtcraft.com> <4984735F.3090305@thoughtcraft.com> <60708f4b0902010627m19eee03crf2fe79e9eb0007f5@mail.gmail.com> In-Reply-To: <60708f4b0902010627m19eee03crf2fe79e9eb0007f5@mail.gmail.com> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Glen Daniels X-Virus-Checked: Checked by ClamAV on apache.org Hi Amila! Amila Suriarachchi wrote: > Earlier Rampart has matched the WSDL "Ping" to java "Ping". Then once I > did the first change this did not get compiled since generated code was > "ping". To fix this it was changed (by nandana I think) to "ping". > > Then I changes code again (which you had put -1) so that by default it > generates method name as "Ping". Now again rampart had a problem. This > can be solved by either converting back the name as "Ping" or by using > the -lcmn option when generating the code. Ahhhh, I see. Sorry, I got the wrong impression from your earlier mails; I thought the behavior was always to lower-case the method names, which IMO is in fact the *correct* behavior. Now I understand why you put in the option. > just think what we had on the time Axis2 1.4 release. At that time the > Operation name "Foo" mapped to java method name "Foo". This has no any > technical problem. But java coding convention requires method names to > start with lower case letters. So I wanted to generate method names > according to that (i.e. "foo") I would characterize "not meeting the expectations of Java programmers" to be a technical problem that I think we should fix. See below. > Just changing wsdl2java tool to generate such method name (which I did > earlier) has two problems. > 1. WSDL allows to have two operation names as "Foo" and "foo". Generated > code won't compile for such WSDL files. We need to fix this anyway, regardless of the option, so this is a separate problem. The answer is to generate "foo()", "foo1()", etc. > 2. the generated code is not backward compatible with Axis2 1.4 release > code. Yeah, this is the part I didn't get before. OK, here's my suggestion. I consider the 1.4 behavior to be a bug, and we should IMO fix it for 1.5 and beyond. The fix should change the default behavior to the standard JAX-RPC/JAX-WS mapping, and we should at LEAST support (examples are imagined in one single WSDL): WSDL Java ------------------------------------ Foo foo() FoO foo1() Fo-O foo2() We're going to be living with this code for a long time, and I'd really rather not have people forced to use "-lcmn" forever in order to get what is actually the correct mapping to Java. Of course, this WILL mean problems with some pre-1.5 WSDLs, but we've already dealt with that in Rampart (since the trunk has been converting to lower case) and others can deal by switching to the correct mapping as well. For backwards compatibility, I *do* think we should add an option, but the option should be something like "-14" for "1.4 backwards compatible" Thoughts? --Glen