axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anne Thomas Manes" <atma...@gmail.com>
Subject Re: not able to retrieve attribute (elements work fine)
Date Sat, 20 Jan 2007 22:40:27 GMT
attributeFormDefault only applies to local attributes (those defined
within a complexType). But this attribute is defined as a global
attribute (a direct child of the <schema>). All entities (elements,
attributes, and types) that are defined as global belong to the
targetNamespace.

Anne

On 1/20/07, Dennis Sosnoski <dms@sosnoski.com> wrote:
> Here's the start of jxdm.xsd:
>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://jxdm.ws.doc.state.sc.us"
> xmlns="http://jxdm.ws.doc.state.sc.us"
>     elementFormDefault="qualified">
>
> This does not specify attributeFormDefault="qualified", so why are you
> saying the attribute needs to be namespace qualified?
>
>   - Dennis
>
> Anne Thomas Manes wrote:
> > The attribute is defined as a global attribute in the jxdm.xsd,
> > therefore it must be namespace qualified. The error is in the message
> > generated by the server.
> >
> > Anne
> >
> > On 1/20/07, Dennis Sosnoski <dms@sosnoski.com> wrote:
> >> I think this is the wrong way around, Anne. It looks to me like the
> >> attribute is not namespace qualified in the schema (it's defined in
> >> jxdm.xsd, not in the WSDL schema which has
> >> attributeFormDefault="qualified"), so the response being sent from the
> >> server is good and the error is apparently in the client-side generated
> >> code.
> >>
> >> Either way, it looks like a problem with the XMLBeans code generation
> >> for Axis2. That's assuming you're using the same exact WSDL and schema
> >> for both client and server code generation - you might want to
> >> double-check that to be sure. Then can you try this out using the Axis2
> >> 1.1.1 release? There were a number of bug fixes in that, and it's
> >> possible this problem has been corrected.
> >>
> >>   - Dennis
> >>
> >> Dennis M. Sosnoski
> >> SOA and Web Services in Java
> >> Training and Consulting
> >> http://www.sosnoski.com - http://www.sosnoski.co.nz
> >> Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
> >>
> >>
> >>
> >> Anne Thomas Manes wrote:
> >> > Danny,
> >> >
> >> > According to your schema, the attribute should be namespace qualified.
> >> > Hence the message you get back from the service should look like this:
> >> >
> >> > <xml-fragment ns1:personNameCommentText="A"
> >> > xmlns:ns1="http://jxdm.ws.doc.state.sc.us"
> >> > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
> >> >  <ns1:PersonGivenName>Rebecca</ns1:PersonGivenName>
> >> >  <ns1:PersonMiddleName>Mace</ns1:PersonMiddleName>
> >> >  <ns1:PersonSurName>Smith</ns1:PersonSurName>
> >> > </xml-fragment>
> >> >
> >> > The reason why your request for the comment text returns null is
> >> > because it's looking for an attribute called
> >> > ns1:personNameCommentText. Since that attribute doesn't exist, it
> >> > returns null.
> >> >
> >> > If you implemented the service using Axis2 and XMLBeans, then I think
> >> > this is a bug in XMLBeans.
> >> >
> >> > Anne
> >> >
> >> > On 1/19/07, Danny Lin <Lin.Danny@doc.state.sc.us> wrote:
> >> >>
> >> >>
> >> >> I added more logging on the web service server end just to see what's
> >> >> going
> >> >> on. The document that was prepared contains the namespace in the
> >> >> attribute.
> >> >> However, at the point where the client received, the namespace in the
> >> >> attribute is gone. Can someone please help? I feel that has something
> >> >> to do
> >> >> with the WSDL which I do not have very good understanding.
> >> >>
> >> >> Thanks.
> >> >>
> >> >> Danny
> >> >>
> >> >>
> >> >>  ________________________________
> >> >>  From: Danny Lin
> >> >> Sent: Friday, January 19, 2007 6:24 PM
> >> >> To: axis-dev@ws.apache.org; axis-user@ws.apache.org
> >> >> Subject: not able to retrieve attribute (elements work fine)
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> I am attaching my WSDL and my schema to this message. Hopefully
> >> >> someone with
> >> >> good knowledge can spot where I did wrong here. I am using XMLBeans
> >> >> binding
> >> >> (version 2.2). My Axis2 version 1.1.
> >> >>
> >> >> Basically I am having problem in getting the "personNameCommentText"
> >> >> attribute in the "PersonAlternateName" element.
> >> >>
> >> >> After my webservice is called, the server returns:
> >> >>     ...
> >> >>     <PersonAlternateName personNameCommentText="A"
> >> >> xmlns:ns1="http://jxdm.ws.doc.state.sc.us">
> >> >>       <PersonGivenName>Rebecca</PersonGivenName>
> >> >>       <PersonMiddleName>Mace</PersonMiddleName>
> >> >>       <PersonSurName>Smith</PersonSurName>
> >> >>     </PersonAlternateName>
> >> >>     ...
> >> >>
> >> >> In my client side, I have code that looks like this:
> >> >>     ...
> >> >>     String commentText = al.getPersonNameCommentText();
> >> >>     log.debug("XML: "+al);
> >> >>     ...
> >> >>
> >> >> The output is:
> >> >> <xml-fragment personNameCommentText="A"
> >> >> xmlns:ns1="http://jxdm.ws.doc.state.sc.us"
> >> >> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
> >> >>   <ns1:PersonGivenName>Rebecca</ns1:PersonGivenName>
> >> >>   <ns1:PersonMiddleName>Mace</ns1:PersonMiddleName>
> >> >>   <ns1:PersonSurName>Smith</ns1:PersonSurName>
> >> >> </xml-fragment>
> >> >>
> >> >> BUT, the commentText is null, not the "A" that I am expecting!!
> >> >>
> >> >> Then, I just want to see what the client is expecting for the XML to
> >> >> look
> >> >> like, I added the code:
> >> >>     ...
> >> >>     al.setPersonNameCommentText("R");
> >> >>     log.debug("XML after change:\n"+al);
> >> >>     ...
> >> >>
> >> >> Now the output added a namespace to the personNameCommentText.
> >> >> <xml-fragment personNameCommentText="A" ns1:personNameCommentText="R"
> >> >> xmlns:ns1="http://jxdm.ws.doc.state.sc.us"
> >> >> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
> >> >>   <ns1:PersonGivenName>Rebecca</ns1:PersonGivenName>
> >> >>   <ns1:PersonMiddleName>Mace</ns1:PersonMiddleName>
> >> >>   <ns1:PersonSurName>Smith</ns1:PersonSurName>
> >> >> </xml-fragment>
> >> >>
> >> >> And, if I call getPersonNameCommentText(), I am getting "R".
> >> >>
> >> >> Any help is greatly appreciated.
> >> >>
> >> >> Danny
> >> >>
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> >> For additional commands, e-mail: axis-dev-help@ws.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message