Ho un XSD che descrive alcune sequenze di tipi complessi ad es.Generazione di array per sequenze XSD tramite JaxB JXC
<xs:complexType name="Catalog">
<xs:sequence>
<xs:element name="Category" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="ParentCategoryIDRef"/>
<xs:element type="xs:string" name="Method"/>
</xs:sequence>
<xs:complexType>
</xs:element>
</xs:sequence>
<xs:complexType>
Ora quando uso JaxBs XJC per convertire questo in classi Java che genererà me un java.util.List
nella mia classe Catalog
per il campo e getter/setter di Category
.
Tuttavia, ciò di cui ho bisogno per utilizzarlo in un servizio web Axis2 utilizzando java2wsdl sono array come Category[]
.
Sono un po 'familiare con attacchi JAXB e già provato specificando il tipo di raccolta utilizzando:
<jaxb:property collectionType="Category[]"/>
che ha portato in codice non valido, perché è stato ancora utilizzando un java.util.List
, ma con un costruttore new Category[]<Category>
.
Ovviamente posso sempre modificare il codice generato dopo la generazione, ma questo potrebbe causare problemi quando provo a rigenerarlo.
Quello che ho ora è:
public class Catalog {
@XmlElement(name = "Category")
protected List<Category> category;
}
Quello che voglio è:
public class Catalog {
@XmlElement(name = "Category")
protected Category[] category;
}
Tutte le idee? Attualmente sto usando XJC 2.2.6 con Axis2 1.6.2.