You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2002/11/25 21:05:55 UTC
RE: cvs commit: xml-axis/java/src/org/apache/axis/encoding Serial
izationContextImpl.java
Dims, a few comments about this:
The dataset in the WSDL for your dataset test contains an <xsd:schema> followed by an <xsd:any>, so it looks to me like we're picking up on the any and therefore making a MessageElement[] in the generated types. This "any" ends up picking up both the <xsd:schema> and the <diffgram> in the returned result.
In no case is an element with a *type* of "schema" ever going to happen, I think, because <schema> is an element declaration, not a type (the schema for schema defines the element with an anonymous complexType).
In other words, neither the thing I removed nor the type mapping you introduced seem like they actually did anything. Does this analysis seem reasonable, or am I just suffering from a lack of coffee?
What I'd like to see (and I'm working on in my sandbox) is <xsd:schema> getting deserialized to an org.apache.axis.xsd.xml.schema.XmlSchema. Except I'd much rather we called that "org.apache.axis.xsd.XmlSchema" or even "org.apache.axis.schema.XmlSchema".... And regardless, this presumes that we integrate the schema contribution.
--Glen
> -----Original Message-----
> From: gdaniels@apache.org [mailto:gdaniels@apache.org]
> Sent: Monday, November 25, 2002 2:53 PM
> To: xml-axis-cvs@apache.org
> Subject: cvs commit: xml-axis/java/src/org/apache/axis/encoding
> SerializationContextImpl.java
>
>
> gdaniels 2002/11/25 11:53:08
>
> Modified: java/src/org/apache/axis/wsdl/symbolTable
> SymbolTable.java
> SchemaUtils.java
> java/src/org/apache/axis/encoding
> SerializationContextImpl.java
> Log:
> A little cleanup, and remove Dims' "schema" entry in the
> schema types
> table, since it doesn't appear to be doing anything (?).
>
> Revision Changes Path
> 1.53 +3 -3
> xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
>
> Index: SymbolTable.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/S
> ymbolTable.java,v
> retrieving revision 1.52
> retrieving revision 1.53
> diff -u -r1.52 -r1.53
> --- SymbolTable.java 22 Nov 2002 14:38:53 -0000 1.52
> +++ SymbolTable.java 25 Nov 2002 19:53:08 -0000 1.53
> @@ -766,7 +766,7 @@
> if (includeName != null) {
> URL url = getURL(context, includeName);
> Document includeDoc =
> XMLUtils.newDocument(url.toString());
> - populate(url, (Definition) null,
> includeDoc, url.toString());
> + populate(url, null, includeDoc,
> url.toString());
> }
> }
> }
> @@ -1152,7 +1152,7 @@
> parameters.returnParam.setMode(Parameter.OUT);
> if (parameters.returnParam.getType()
> instanceof DefinedElement) {
> parameters.returnParam.setQName(
> -
> ((DefinedElement)parameters.returnParam.getType())
> + parameters.returnParam.getType()
> .getQName());
> }
> ++parameters.outputs;
> @@ -2103,7 +2103,7 @@
> Iterator ports = service.getPorts().values().iterator();
> while (ports.hasNext()) {
> Port port = (Port) ports.next();
> - Binding binding = (Binding) port.getBinding();
> + Binding binding = port.getBinding();
> BindingEntry bEntry =
> getBindingEntry(binding.getQName());
> if (bEntry != null) {
> setBindingReferences(bEntry, def, doc);
>
>
>
> 1.18 +4 -7
> xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SchemaUtils.java
>
> Index: SchemaUtils.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/S
> chemaUtils.java,v
> retrieving revision 1.17
> retrieving revision 1.18
> diff -u -r1.17 -r1.18
> --- SchemaUtils.java 24 Nov 2002 14:43:59 -0000 1.17
> +++ SchemaUtils.java 25 Nov 2002 19:53:08 -0000 1.18
> @@ -343,8 +343,7 @@
> // used to retrieve the proper java name of the type.
> QName nodeType = Utils.getTypeQName(elementNode,
> forElement, false);
>
> - TypeEntry type =
> (TypeEntry)symbolTable.getTypeEntry(nodeType,
> -
> forElement.value);
> + TypeEntry type =
> symbolTable.getTypeEntry(nodeType, forElement.value);
>
> // An element inside a complex type is either
> qualified or unqualified.
> // If the ref= attribute is used, the name of the
> ref'd element is used
> @@ -564,7 +563,7 @@
> return null; // No extension base
> }
> // Return associated Type
> - return (TypeEntry) symbolTable.getType(extendsType);
> + return symbolTable.getType(extendsType);
> }
> return null;
> }
> @@ -1094,9 +1093,8 @@
> }
>
> // Get the corresponding TypeEntry from
> the symbol table
> - TypeEntry type =
> -
> (TypeEntry)symbolTable.getTypeEntry(attributeType,
> -
> forElement.value);
> + TypeEntry type =
> symbolTable.getTypeEntry(attributeType,
> +
> forElement.value);
>
> // add type and name to vector, skip it if
> we couldn't parse it
> // XXX - this may need to be revisited.
> @@ -1111,7 +1109,6 @@
>
> // list of all of the XSD types in Schema 2001
> private static String schemaTypes[] = {
> - "schema",
> "string",
> "normalizedString",
> "token",
>
>
>
> 1.80 +1 -2
> xml-axis/java/src/org/apache/axis/encoding/SerializationContex
> tImpl.java
>
> Index: SerializationContextImpl.java
> ===================================================================
> RCS file:
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Serializa
> tionContextImpl.java,v
> retrieving revision 1.79
> retrieving revision 1.80
> diff -u -r1.79 -r1.80
> --- SerializationContextImpl.java 31 Oct 2002 23:40:46
> -0000 1.79
> +++ SerializationContextImpl.java 25 Nov 2002 19:53:08
> -0000 1.80
> @@ -66,7 +66,6 @@
> import org.apache.axis.wsdl.symbolTable.SymbolTable;
> import org.apache.axis.wsdl.symbolTable.SchemaUtils;
> import org.apache.axis.encoding.ser.BaseSerializerFactory;
> -import org.apache.axis.enum.Style;
> import org.apache.axis.enum.Use;
> import org.apache.axis.handlers.soap.SOAPService;
> import org.apache.axis.attachments.Attachments;
> @@ -354,7 +353,7 @@
> public TypeMappingRegistry getTypeMappingRegistry() {
> if (msgContext == null)
> return null;
> - return (TypeMappingRegistry)
> msgContext.getTypeMappingRegistry();
> + return msgContext.getTypeMappingRegistry();
> }
>
> /**
>
>
>
>
RE: cvs commit: xml-axis/java/src/org/apache/axis/encoding Serial izationContextImpl.java
Posted by Davanum Srinivas <di...@yahoo.com>.
Glen,
The first step was to make sure that wsdl2java did not croak. Which was the oldest bug we had to
date (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8419). This was what i did...The check-in
and test case ensures that xsd:schema is handled both when wsdl2java is run as well as when we get
xsd:schema over the wire....Yes, the code checked in is not perfect. Needs to be cleaned up. I
mentioned that tweaking is needed in
(http://nagoya.apache.org/eyebrowse/ReadMsg?listName=axis-dev@xml.apache.org&msgNo=8110).
Please feel free to modify the code....
Thanks,
dims
--- Glen Daniels <gd...@macromedia.com> wrote:
>
> Dims, a few comments about this:
>
> The dataset in the WSDL for your dataset test contains an <xsd:schema> followed by an <xsd:any>,
> so it looks to me like we're picking up on the any and therefore making a MessageElement[] in
> the generated types. This "any" ends up picking up both the <xsd:schema> and the <diffgram> in
> the returned result.
>
> In no case is an element with a *type* of "schema" ever going to happen, I think, because
> <schema> is an element declaration, not a type (the schema for schema defines the element with
> an anonymous complexType).
>
> In other words, neither the thing I removed nor the type mapping you introduced seem like they
> actually did anything. Does this analysis seem reasonable, or am I just suffering from a lack
> of coffee?
>
> What I'd like to see (and I'm working on in my sandbox) is <xsd:schema> getting deserialized to
> an org.apache.axis.xsd.xml.schema.XmlSchema. Except I'd much rather we called that
> "org.apache.axis.xsd.XmlSchema" or even "org.apache.axis.schema.XmlSchema".... And regardless,
> this presumes that we integrate the schema contribution.
>
> --Glen
>
> > -----Original Message-----
> > From: gdaniels@apache.org [mailto:gdaniels@apache.org]
> > Sent: Monday, November 25, 2002 2:53 PM
> > To: xml-axis-cvs@apache.org
> > Subject: cvs commit: xml-axis/java/src/org/apache/axis/encoding
> > SerializationContextImpl.java
> >
> >
> > gdaniels 2002/11/25 11:53:08
> >
> > Modified: java/src/org/apache/axis/wsdl/symbolTable
> > SymbolTable.java
> > SchemaUtils.java
> > java/src/org/apache/axis/encoding
> > SerializationContextImpl.java
> > Log:
> > A little cleanup, and remove Dims' "schema" entry in the
> > schema types
> > table, since it doesn't appear to be doing anything (?).
> >
> > Revision Changes Path
> > 1.53 +3 -3
> > xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
> >
> > Index: SymbolTable.java
> > ===================================================================
> > RCS file:
> > /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/S
> > ymbolTable.java,v
> > retrieving revision 1.52
> > retrieving revision 1.53
> > diff -u -r1.52 -r1.53
> > --- SymbolTable.java 22 Nov 2002 14:38:53 -0000 1.52
> > +++ SymbolTable.java 25 Nov 2002 19:53:08 -0000 1.53
> > @@ -766,7 +766,7 @@
> > if (includeName != null) {
> > URL url = getURL(context, includeName);
> > Document includeDoc =
> > XMLUtils.newDocument(url.toString());
> > - populate(url, (Definition) null,
> > includeDoc, url.toString());
> > + populate(url, null, includeDoc,
> > url.toString());
> > }
> > }
> > }
> > @@ -1152,7 +1152,7 @@
> > parameters.returnParam.setMode(Parameter.OUT);
> > if (parameters.returnParam.getType()
> > instanceof DefinedElement) {
> > parameters.returnParam.setQName(
> > -
> > ((DefinedElement)parameters.returnParam.getType())
> > + parameters.returnParam.getType()
> > .getQName());
> > }
> > ++parameters.outputs;
> > @@ -2103,7 +2103,7 @@
> > Iterator ports = service.getPorts().values().iterator();
> > while (ports.hasNext()) {
> > Port port = (Port) ports.next();
> > - Binding binding = (Binding) port.getBinding();
> > + Binding binding = port.getBinding();
> > BindingEntry bEntry =
> > getBindingEntry(binding.getQName());
> > if (bEntry != null) {
> > setBindingReferences(bEntry, def, doc);
> >
> >
> >
> > 1.18 +4 -7
> > xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SchemaUtils.java
> >
> > Index: SchemaUtils.java
> > ===================================================================
> > RCS file:
> > /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/S
> > chemaUtils.java,v
> > retrieving revision 1.17
> > retrieving revision 1.18
> > diff -u -r1.17 -r1.18
> > --- SchemaUtils.java 24 Nov 2002 14:43:59 -0000 1.17
> > +++ SchemaUtils.java 25 Nov 2002 19:53:08 -0000 1.18
> > @@ -343,8 +343,7 @@
> > // used to retrieve the proper java name of the type.
> > QName nodeType = Utils.getTypeQName(elementNode,
> > forElement, false);
> >
> > - TypeEntry type =
> > (TypeEntry)symbolTable.getTypeEntry(nodeType,
> > -
> > forElement.value);
> > + TypeEntry type =
> > symbolTable.getTypeEntry(nodeType, forElement.value);
> >
> > // An element inside a complex type is either
> > qualified or unqualified.
> > // If the ref= attribute is used, the name of the
> > ref'd element is used
> > @@ -564,7 +563,7 @@
> > return null; // No extension base
> > }
> > // Return associated Type
> > - return (TypeEntry) symbolTable.getType(extendsType);
> > + return symbolTable.getType(extendsType);
> > }
> > return null;
> > }
> > @@ -1094,9 +1093,8 @@
> > }
> >
> > // Get the corresponding TypeEntry from
> > the symbol table
> > - TypeEntry type =
> > -
> > (TypeEntry)symbolTable.getTypeEntry(attributeType,
> > -
> > forElement.value);
> > + TypeEntry type =
> > symbolTable.getTypeEntry(attributeType,
> > +
> > forElement.value);
> >
> > // add type and name to vector, skip it if
> > we couldn't parse it
> > // XXX - this may need to be revisited.
> > @@ -1111,7 +1109,6 @@
> >
> > // list of all of the XSD types in Schema 2001
> > private static String schemaTypes[] = {
> > - "schema",
> > "string",
> > "normalizedString",
> > "token",
> >
> >
> >
> > 1.80 +1 -2
> > xml-axis/java/src/org/apache/axis/encoding/SerializationContex
> > tImpl.java
> >
> > Index: SerializationContextImpl.java
> > ===================================================================
> > RCS file:
> > /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Serializa
> > tionContextImpl.java,v
> > retrieving revision 1.79
> > retrieving revision 1.80
> > diff -u -r1.79 -r1.80
> > --- SerializationContextImpl.java 31 Oct 2002 23:40:46
> > -0000 1.79
> > +++ SerializationContextImpl.java 25 Nov 2002 19:53:08
> > -0000 1.80
> > @@ -66,7 +66,6 @@
> > import org.apache.axis.wsdl.symbolTable.SymbolTable;
> > import org.apache.axis.wsdl.symbolTable.SchemaUtils;
> > import org.apache.axis.encoding.ser.BaseSerializerFactory;
> > -import org.apache.axis.enum.Style;
> > import org.apache.axis.enum.Use;
> > import org.apache.axis.handlers.soap.SOAPService;
> > import org.apache.axis.attachments.Attachments;
> > @@ -354,7 +353,7 @@
> > public TypeMappingRegistry getTypeMappingRegistry() {
> > if (msgContext == null)
> > return null;
> > - return (TypeMappingRegistry)
> > msgContext.getTypeMappingRegistry();
> > + return msgContext.getTypeMappingRegistry();
> > }
> >
> > /**
> >
> >
> >
> >
=====
Davanum Srinivas - http://xml.apache.org/~dims/
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus � Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com