[ 
https://issues.apache.org/jira/browse/CXF-3161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Jutten updated CXF-3161:
-----------------------------

    Attachment: JaxBProject.zip

The source code, run TestClient as Java Application.

> Marshalling object fails with JAXB and CXF, throws nullpointerexception
> -----------------------------------------------------------------------
>
>                 Key: CXF-3161
>                 URL: https://issues.apache.org/jira/browse/CXF-3161
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>         Environment: Windows XP; Eclipse 3.5.2; jaxb-api-2.2.1; 
> jaxb-impl-2.2.1; 
>            Reporter: Paul Jutten
>         Attachments: JaxBProject.zip
>
>
> The following methods are included in the generated objectfactory:
> {code:title=ObjectFactory.java|borderStyle=solid}
> @XmlElementDecl(namespace = "http://test.nl/voertuigen";, name = "kleur")
> public JAXBElement<KleurType> createKleur(KleurType value)
> {
>       return new JAXBElement<KleurType>(_Kleur_QNAME, KleurType.class, null, 
> value);
> }
> @XmlElementDecl(namespace = "http://test.nl/voertuigen";, name = "kleur", 
> scope = BusType.class)
> public JAXBElement<MetallicKleurType> createBusTypeKleur(MetallicKleurType 
> value)
> {
>       return new JAXBElement<MetallicKleurType>(_Kleur_QNAME, 
> MetallicKleurType.class, BusType.class, value);
> }
> {code} 
> Both methods have the same namespace and name, the createBusTypeKleur method 
> also has a scope (in @XmlElementDecl). KleurType and MetallicKleurType are 
> enums.
> When I marshall the BusType object with CXF, a nullpinterexception is thrown.
> The BusType class looks like this:
> {code:title=BusType.java|borderStyle=solid}
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlType(name = "busType", propOrder = {"kleur"})
> public class BusType
> {
>       XmlElementRef(name = "kleur", namespace = "http://test.nl/voertuigen";, 
> type = JAXBElement.class)
>       protected JAXBElement<MetallicKleurType> kleur;
>       public JAXBElement<MetallicKleurType> getKleur()
>       {
>               return kleur;
>       }
>       public void setKleur(JAXBElement<MetallicKleurType> value)
>       {
>               this.kleur = (value);
>       }
> }
> {code} 
> When the method createKleur in the ObjectFactory class has a scope too, or 
> the names in the @XmlAccessorType are different, no exceptions will be thrown.
> I have attached the source code (as small Eclipse project).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to