Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 35814 invoked from network); 12 Oct 2004 17:49:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 12 Oct 2004 17:49:58 -0000 Received: (qmail 56239 invoked by uid 500); 12 Oct 2004 17:49:53 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 56081 invoked by uid 500); 12 Oct 2004 17:49:51 -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: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 56072 invoked by uid 99); 12 Oct 2004 17:49:51 -0000 X-ASF-Spam-Status: No, hits=0.6 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_WHOIS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [216.104.212.90] (HELO p01mgw01.macromedia.com) (216.104.212.90) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 12 Oct 2004 10:49:49 -0700 Received: from S1001EXM02.macromedia.com (s1001exm02.macromedia.com [10.4.48.132]) by p01mgw01.macromedia.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id i9CHnmnV001810 for ; Tue, 12 Oct 2004 10:49:48 -0700 (PDT) Received: by pop-newton.allaire.com with Internet Mail Service (5.5.2657.72) id ; Tue, 12 Oct 2004 13:49:48 -0400 Message-ID: From: Tom Jordahl To: "'axis-dev@ws.apache.org'" Subject: RE: Axis 1.2 RC1 release red flag Date: Tue, 12 Oct 2004 13:49:47 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Update #2 I have resolved all of my issues except for the one detailed below. Axis 1.1 preferred XML Schema types for arrays instead of the SOAP encoded types. This worked to our advantage when talking to a .NET rpc/encoded service, which specifies in schema that it wants xsd types. Trying to restore that behavior is "challenging". :-( Unfortunately, changing the ordering of our default TypeMapping seems to break some functional tests, in particular we seem to have some issues with returning plain (int) types instead of wrapped types (Integer), probably due to the fact that SOAP encoded types can be null. I am still looking at it. -- Tom Jordahl Macromedia Server Development > -----Original Message----- > From: Tom Jordahl [mailto:tomj@macromedia.com] > Sent: Monday, October 11, 2004 10:30 AM > To: 'axis-dev@ws.apache.org' > Subject: RE: Axis 1.2 RC1 release red flag > > > Just an update. > > I have been fixing some problems in the ArraySerializer that have been > causing grief. In particular, we were sending xsi:type attributes for > arrays that looked like this: > > xsi:type="ns1:ArrayOf_xsd_string" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> > foo > boo > too > loo > moo > > > The type should be: xsi:type="soapenc:Array". This helped quite a bit. > This change was bad because Axis checks the xsi:type *before* it checks to > see if we have soapenc:arrayType attributes (see > DeserializationContext.java, getTypeFromAttributes(), line 370). The > functional tests didn't catch this because when you run WSDL2Java to > create > server-side stuff, the deploy.wsdd will contain type mappings for > "ns1:ArrayOf_xsd_string" and friends. I assume these changes were made > for > doc/lit, where these type mappings are probably going to be required. :-( > > See the changes I will check in shortly for code details, but basically I > made sure the xsi:type is sent in the ArraySerializer if we are doing SOAP > encoding. > > I am now struggling with a change that happened I believe because of > changes > made to the TypeMapping system. We used to send the above array as: > soapenc:arrayType="xsd:string[5]" we now send it as a soapenc:string[5]. > > > The WSDL for this rpc/encoded .NET service has this in the Schema: > > ... > > > > > ref="soapenc:arrayType" > xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/" /> > > > > > Axis sends: > > soapenc:arrayType="soapenc:string[5]" > xsi:type="soapenc:Array" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> > a > b > c > d > e > > > The .NET error is: > > Server was unable to read request. --> There > is > an error in XML document (1, 324). --> The specified type was not > recognized: name='string', > namespace='http://schemas.xmlsoap.org/soap/encoding/', at > <thestringarray xmlns=''>. > > The problem is that .NET has specified xsd:string as the arrayType. Axis > ignores this Schema stuff. But the way the type mappings worked in 1.1, > we > preferred XML Schema to soapenc types. The new way that the > DefaultSOAPEncodingTypeMappingImpl type mapping registry is created, the > default (containing the xsd types) is a delegate to the SOAPEncoding > types. > Which means that when we look up java.lang.String, we first look in the > soap > encoded types and return soapenc:string. > > I am planning on changing this back to Axis 1.1 behavior, which is to > always > prefer the xsd types where possible. The problem is, when I look at the > 1.1 > version of DefaultTypeMappingImpl, it appears that *it also* would prefer > the soapenc types when doing encoded stuff. I am clearly missing > something. > > Have I mentioned how much I really hate the type mapping system in Axis? > :-) > > Anyway, any assistance on this would be appreciated. Glen, you changed > both > the type mapping and array stuff, so if can give me a hand, that would be > great. > > -- > Tom Jordahl > Macromedia Server Development > > > -----Original Message----- > > From: Tom Jordahl [mailto:tomj@macromedia.com] > > Sent: Friday, October 08, 2004 12:31 PM > > To: 'axis-dev@ws.apache.org' > > Subject: Axis 1.2 RC1 release red flag > > > > This is just a data point, but I figured I would let the group know that > > Axis 1.2 RC1 does not pass my products (ColdFusion MX) web service > > regression suite. > > > > I hope to have fixes in the next few days, but I may not have enough > > allocated time to fix this. > > > > Have the folks who ran JAX-RPC 1.1 successfully re-ran the suite on the > > RC1 > > bits? > > > > On the bright side, flipping on the wrapped doc/lit switch on Axis 1.2 > > worked pretty well, but failed miserable on 1.1. So we are making > > progress! > > > > -- > > Tom Jordahl > > Macromedia Server Development