The metadata is definitely intended to support both.
I think the right thing to do WRT the QNames is to always keep the schema QNames in the metadata, and then qualify the elements or not depending on the encodingStyle. That is, I believe, what we do now, but the edge cases are a little unclear (I'm not sure qualified elements are illegal in all cases for SOAP-encoding, for instance). I actually disagree re: emitting metadata for every field. We have a clear default behavior in the no-metadata case (i.e. XML name == Java bean field name), so why clutter the class with emitted metadata for fields which match the default? I really like that for a schema with 20 Java-compatible names and 1 that needs mangling, we only emit a single FieldDesc. I do understand your desire for consistency, but I disagree that it's error-prone to use defaults. --Glen > -----Original Message----- > From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, March 26, 2002 2:19 PM > To: [EMAIL PROTECTED] > Subject: RE: Discovered some problems with the meta data. > > > Is the meta-data for the literal case or for all cases. > I would prefer that the meta-data would support both. > Therefore an element needs to have a qname for literal and encoded. > (Or perhaps one qname and a boolean flag indicating that it is either > qualified or unqualified.) > > > > I also believe that if meta data is generated for a bean, > then meta data > should be generated for > all of the fields. A mixture of meta data and introspection is > error-prone. > > > Rich Scheuerle > XML & Web Services Development > 512-838-5115 (IBM TL 678-5115) > > > > > > Glen Daniels > > > <gdaniels@macrome To: R J > Scheuerle Jr/Austin/IBM@IBMUS > > dia.com> cc: > "'Axis-Dev (E-mail)'" <[EMAIL PROTECTED]> > > Subject: RE: > Discovered some problems with the meta data. > > 03/26/2002 12:21 > > > PM > > > Please respond to > > > axis-dev > > > > > > > > > > > > > > 1) In the wrapped wsd test, the wsdl indicates that an > Attaction has a > > contained element called _OID. > > This causes the bean to contain the following code: > > static { > > org.apache.axis.description.FieldDesc field = new > > org.apache.axis.description.ElementDesc(); > > field.setFieldName("oID"); > > field.setXmlName(new > > javax.xml.rpc.namespace.QName("urn:CityBBB", " > > _OID")); > > typeDesc.addFieldDesc(field); > > } > > However, when I run tcpmon I see that the element is actually > > sent over the > > wire with the name OID not _OID. > > So there apparently is a bug in the BeanSerializer. > > Weird, will look into it. > > > 2) For the case above, my protype serializer sends the > > element across the > > wire correct (_OID), but the > > BeanDeserializer reports an exception indicating that _OID is > > not a valid > > element name. > > So there apparently is a similar bug in the BeanDeserializer > > reading the > > meta data. > > Ditto. > > > 3) I also contend that for this element, the xmlName should > > be QName("", " > > _OID")not QName("urn:CityBBB", "_OID"). The element is > > defined in the wsdl > > as a non-qualified inner element of a complexType; therefore > > it should be > > passed over the wire without a namespace and received without > > a namespace. > > If the element was defined using a ref= attribute, then the > > element would > > be a qualified namespace; thus the namespace would be required. > > No, that is incorrect because we're using literal XML here. > The schema > defines those elements in the target namespace, and they > should thus be > qualified. > > > So I contend that the meta data is also wrong for _OID. > > Nope, though there are clearly some problems if the XML isn't being > serialized/deserialized correctly. > > --Glen > > >