You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by nicolas de loof <ni...@apache.org> on 2008/09/23 15:00:36 UTC

need some explanation about strange JAXB generated code

Hello,
My WSDL sxhema defines a complextype :

   <xs:complexType name="SaisieActeMessage">
     <xs:sequence>
         <xs:element name="adressefacturation" type="tns:Adresse"/>
         <xs:element name="adresselivraison" type="tns:Adresse"/>
         <xs:element name="contact" type="tns:MoyenDeContact"/>
[~10  more elements] ...

I expected the generated Java class to define attributes
"adressefacturation", "adresselivraison", "contact" ..., as it does for many
other types in my WSDL, but I get :

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SaisieActeMessage", propOrder = {
    "content"
})
public class SaisieActeMessage {

    @XmlElementRefs({
        @XmlElementRef(name = "adresselivraison", namespace = "http://foo",
type = JAXBElement.class),
        @XmlElementRef(name = "adresseFacturation", namespace = "http://w foo",
type = JAXBElement.class),
        @XmlElementRef(name = "contact", namespace = "http://foo", type =
JAXBElement.class),
.....    })
    protected List<JAXBElement<?>> content;


Is this REALLY what is expected ? Is there no way to have something more
developer-compliant ?

Nicolas

Re: need some explanation about strange JAXB generated code

Posted by Daniel Kulp <dk...@apache.org>.
I have NO idea.   I would suggest asking the jaxb folks on their list:

https://jaxb.dev.java.net/servlets/ProjectMailingListList

Dan



On Tuesday 23 September 2008 9:00:36 am nicolas de loof wrote:
> Hello,
> My WSDL sxhema defines a complextype :
>
>    <xs:complexType name="SaisieActeMessage">
>      <xs:sequence>
>          <xs:element name="adressefacturation" type="tns:Adresse"/>
>          <xs:element name="adresselivraison" type="tns:Adresse"/>
>          <xs:element name="contact" type="tns:MoyenDeContact"/>
> [~10  more elements] ...
>
> I expected the generated Java class to define attributes
> "adressefacturation", "adresselivraison", "contact" ..., as it does for
> many other types in my WSDL, but I get :
>
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlType(name = "SaisieActeMessage", propOrder = {
>     "content"
> })
> public class SaisieActeMessage {
>
>     @XmlElementRefs({
>         @XmlElementRef(name = "adresselivraison", namespace = "http://foo",
> type = JAXBElement.class),
>         @XmlElementRef(name = "adresseFacturation", namespace = "http://w
> foo", type = JAXBElement.class),
>         @XmlElementRef(name = "contact", namespace = "http://foo", type =
> JAXBElement.class),
> .....    })
>     protected List<JAXBElement<?>> content;
>
>
> Is this REALLY what is expected ? Is there no way to have something more
> developer-compliant ?
>
> Nicolas



-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog