Anne,

The WS server log indicates it is sending a document like this:
...
  <jxdm:PersonAlternateName jxdm:personNameCommentText="M">
    <jxdm:PersonGivenName>Rebecca</jxdm:PersonGivenName>
    <jxdm:PersonMiddleName>Anne</jxdm:PersonMiddleName>
    <jxdm:PersonSurName>Mace</jxdm:PersonSurName>
  </jxdm:PersonAlternateName>...

The client receives:
...
    <PersonAlternateName personNameCommentText="M"
xmlns:ns238="http://jxdm.ws.doc.state.sc.us";>
      <PersonGivenName>Rebecca</PersonGivenName>
      <PersonMiddleName>Anne</PersonMiddleName>
      <PersonSurName>Mace</PersonSurName>
    </PersonAlternateName>
...


So, it has the prefix BUT NOT the additional namespace as an attribute.
The client is receiving an attribute WITHOUT the prefix but with a
secondary attribute indicating the namespace.

Thank you for your help.

Danny



-----Original Message-----
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 22, 2007 10:35 AM
To: [email protected]
Subject: Re: not able to retrieve attribute (elements work fine)

Danny,

You don't just need the namespace declaration, you also must use the
prefix with the attribute. e.g.:

    <PersonAlternateName ns1:personNameCommentText="A"
            xmlns:ns1="http://jxdm.ws.doc.state.sc.us";>
      <PersonGivenName>Rebecca</PersonGivenName>
      <PersonMiddleName>Mace</PersonMiddleName>
      <PersonSurName>Smith</PersonSurName>
    </PersonAlternateName>

Are you certain that XMLBeans returns the correct XML?

Anne

On 1/22/07, Danny Lin <[EMAIL PROTECTED]> wrote:
> Thank you Anne and Dennis for looking into this problem. However, I 
> wonder if it is a problem with Axis2, not XMLBenas because I added the

> logger and on the server side the <ConvictionSubject> XML generated 
> contains the namespace for the "personNameCommentText" attribute in 
> the <PersonAlternateName> element. But, by the time the client 
> receives the document, it doesn't have namespace any more. The client 
> and the server both were generated from the same WSDL at the same 
> time. Any suggestions as what else I can try out?
>
> Thanks again.
>
> Danny
>
>
> -----Original Message-----
> From: Dennis Sosnoski [mailto:[EMAIL PROTECTED]
> Sent: Saturday, January 20, 2007 6:29 PM
> To: [email protected]
> Subject: Re: not able to retrieve attribute (elements work fine)
>
> Duh! Of course, my bad. This has caught me before, I'm sad to say - it

> just somehow seems unnatural for attributes to be put into a namespace

> without anything special being done to cause it.
>
>   - Dennis
>
> Anne Thomas Manes wrote:
> > 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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: [email protected]; [email protected]
> >> >> >> 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: [EMAIL PROTECTED]
> >> >> > For additional commands, e-mail: [EMAIL PROTECTED]
> >> >> >
> >> >>
> >> >> ----------------------------------------------------------------
> >> >> --
> >> >> --- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >>
> >> >
> >> > -----------------------------------------------------------------
> >> > --
> >> > -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> > For additional commands, e-mail: [EMAIL PROTECTED]
> >> >
> >>
> >> -------------------------------------------------------------------
> >> -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to