axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anne Thomas Manes <a...@manes.net>
Subject RE: namespace question
Date Fri, 26 Sep 2003 17:00:56 GMT
There's isn't a preferred way to do it. You may design your schema however 
you like. When using Doc/literal, the SOAP engine MUST generate SOAP 
messages that conform to the schema.

Anne

At 11:35 AM 9/26/2003 -0500, you wrote:
>I have a few followup questions about this.
>
>1) What is the preferred way to do this?  Is it preferred to use
>elementFormDefault="qualified" or not?  Is there anything mentioned about
>this in ws-i or any other spec that tries to standardize web services?
>
>2) So if elementFormDefault="qualified" is not set and the element is a
>child of the schema root then it should use the targetNnamespace?  Otherwise
>if it is a local element it should not.  If elementFormDefault="qualified"
>is set then all should use the targetNamespace.  Just to make sure.
>
>Thanks,
>
>Chris
>
> > -----Original Message-----
> > From: Anne Thomas Manes [mailto:anne@manes.net]
> > Sent: Thursday, September 25, 2003 8:54 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: namespace question
> >
> >
> > Per your schema, the element <text> is a local element, which
> > means that it
> > should not be namespace qualified. Hence Axis does produce an accurate
> > realization of your element. Since the <operation> has a default
> > namespace,
> > you must use xmlns="" to turn off the default namespace.
> >
> > If you added elementFormDefault="qualified" to your <schema>
> > element, then
> > all of your local elements would also have qualified names, in which case
> > they would inherit their namespace from their parent element.
> >
> > Anne
> >
> > At 05:20 PM 9/25/2003 -0500, you wrote:
> > >Hello,
> > >
> > >I have a question about namespaces while using document style
> > web service...
> > >
> > >Say I have a method defined by the schema...
> > >
> > ><schema
> > >     targetNamespace="http://www.domain.com/namespace"
> > >     xmlns="http://www.w3.org/2001/XMLSchema">
> > >   <element name="operation">
> > >     <complexType>
> > >       <sequence>
> > >         <element maxOccurs="1" name="text" type="xsd:string"/>
> > >       </sequence>
> > >     </complexType>
> > >   </element>
> > >...
> > ></schema>
> > >
> > >It appears that the code that is generated by WSDL2Java
> > generates a message
> > >that would look something like this...
> > >
> > ><operation xmlns="http://www.domain.com/namespace">
> > >   <text xmlns="">
> > >     blah
> > >   </text>
> > ></operation>
> > >
> > >Why does this add xmlns="" to the text element?  Should this not
> > be there so
> > >that the top level namespace persists?
> > >
> > >I want to know this because I am of the opinion that the namespace should
> > >persist to the elements defined inside the element and you
> > should be able to
> > >check against the namespace of these elements on the server.  With the
> > >client adding xmlns="", the namespace is null and I can't check
> > against the
> > >namespace.  Is it acceptable for the namespace to be null or the
> > namespace
> > >defined by targetNamespace?
> > >
> > >Thanks for any help,
> > >
> > >Chris
> >



Mime
View raw message