Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 93551 invoked by uid 500); 29 Nov 2001 03:09:18 -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 93542 invoked from network); 29 Nov 2001 03:09:17 -0000 Importance: Normal Subject: JavaStubWriter: Utils.capitalizeFirstChar(qn.getLocalPart()? To: axis-dev@xml.apache.org X-Mailer: Lotus Notes Release 5.0.5 September 22, 2000 Message-ID: From: "Sam Ruby" Date: Wed, 28 Nov 2001 22:05:20 -0500 X-MIMETrack: Serialize by Router on D04NM301/04/M/IBM(Release 5.0.8 |June 18, 2001) at 11/28/2001 10:09:24 PM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N In order to improve interoperability, I was looking into distinguishing between void returns and returns of values that happened to be null on this call. Unit tests all passed, but Test test.clash.AirportWeather_ServiceTestCase failed. These tests were run with null results previously, and so now would actually attempt to serialize results as xsi:nil="true". The error I got was "Deserializing parameter 'getLocationResult': could not find deserializer for type http://www.w3.org/2001/XMLSchema:String The actual localPart in the qname is supposed to be string (all lowercase). Looking at JavaStubWriter, I see several instances of: String typeString = "new org.apache.axis.encoding.XMLType( new javax.xml.rpc.namespace.QName(\"" + qn.getNamespaceURI() + "\", \"" + Utils.capitalizeFirstChar(qn.getLocalPart()) + "\"))"; It is my guess that any time you want to deal with the QName as a QName you want to do so ASIS - at least for BaseJavaTypes. This failure was only masked by the choice to use nulls in the test, and the way nulls are currently handled. Any other values would likely fail. - Sam Ruby