You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Ruud de Jong (JIRA)" <ji...@apache.org> on 2009/09/07 14:05:57 UTC
[jira] Created: (CXF-2423) XSD generator fails to create
@XmlRootElement
XSD generator fails to create @XmlRootElement
---------------------------------------------
Key: CXF-2423
URL: https://issues.apache.org/jira/browse/CXF-2423
Project: CXF
Issue Type: Bug
Components: Tooling
Affects Versions: 2.2.3
Environment: Windows XP, Maven 2.0.9, Maven plugin: org.apache.cxf:cxf-common-xsd version 2.2.3
Reporter: Ruud de Jong
The xsdtojava-goal fails to create a proper Java class with @XmlRootElement in some situations. As a result, the generated code cannot be converted from Object to XML (JAXB), because their is no @XmlRootElement defined.
The following XSD works and creates the Java class with an @XmlRootElement:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="example" targetNamespace="example">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string" />
<xs:element name="from" type="xs:string" />
<xs:element name="heading" type="xs:string" />
<xs:element name="body" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
But changing this slightly to an XSD which should be similar:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="example" targetNamespace="example">
<xs:element name="note" type="NoteType" />
<xs:complexType name="NoteType">
<xs:sequence>
<xs:element name="to" type="xs:string" />
<xs:element name="from" type="xs:string" />
<xs:element name="heading" type="xs:string" />
<xs:element name="body" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
In this second XSD, CXF fails to create a Java class named "Note" with @XmlRootElement.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-2423) XSD generator fails to create
@XmlRootElement
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2423.
------------------------------
Resolution: Invalid
Fix Version/s: Invalid
Marking as "invalid" for two reasons:
1) If this was a bug, this would be a bug in JAXB and should be filed there: jaxb.dev.java.net. CXF just delegates down to JAXB for all of this. We don't actually generate these classes, they do.
2) This is probably not a jaxb bug either. I THINK it only puts the XmlRootElement if the NAME of the element and the type are the same:
<xs:element name="note" type="note" />
<xs:complexType name="note">
.....
Alternatively, you would need a jaxb customization file with:
<jaxb:globalBinding generateElementClass="true">
to turn on generating a specific class for that element.
> XSD generator fails to create @XmlRootElement
> ---------------------------------------------
>
> Key: CXF-2423
> URL: https://issues.apache.org/jira/browse/CXF-2423
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.2.3
> Environment: Windows XP, Maven 2.0.9, Maven plugin: org.apache.cxf:cxf-common-xsd version 2.2.3
> Reporter: Ruud de Jong
> Fix For: Invalid
>
>
> The xsdtojava-goal fails to create a proper Java class with @XmlRootElement in some situations. As a result, the generated code cannot be converted from Object to XML (JAXB), because their is no @XmlRootElement defined.
> The following XSD works and creates the Java class with an @XmlRootElement:
> <?xml version="1.0"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="example" targetNamespace="example">
> <xs:element name="note">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="to" type="xs:string" />
> <xs:element name="from" type="xs:string" />
> <xs:element name="heading" type="xs:string" />
> <xs:element name="body" type="xs:string" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> But changing this slightly to an XSD which should be similar:
> <?xml version="1.0"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="example" targetNamespace="example">
> <xs:element name="note" type="NoteType" />
> <xs:complexType name="NoteType">
> <xs:sequence>
> <xs:element name="to" type="xs:string" />
> <xs:element name="from" type="xs:string" />
> <xs:element name="heading" type="xs:string" />
> <xs:element name="body" type="xs:string" />
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> In this second XSD, CXF fails to create a Java class named "Note" with @XmlRootElement.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.