【发布时间】:2013-07-25 04:57:28
【问题描述】:
我有一个 XSD 描述了一些复杂类型的序列,例如
<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>
现在,当我使用 JaxBs XJC 将其转换为 Java 类时,它将在我的 Catalog 类中为我生成一个 java.util.List,用于字段和 Category 的 getter/setter。 p>
但是,我需要在使用 java2wsdl 的 Axis2 Web 服务中使用它是像 Category[] 这样的数组。
我对 JaxB 绑定有点熟悉,并且已经尝试使用以下方法指定集合类型:
<jaxb:property collectionType="Category[]"/>
导致代码无效,因为它仍在使用java.util.List,但使用了构造函数new Category[]<Category>。
当然我总是可以在生成后编辑生成的代码,但是当我尝试重新生成它时会出现问题。
我现在得到的是:
public class Catalog {
@XmlElement(name = "Category")
protected List<Category> category;
}
我想要的是:
public class Catalog {
@XmlElement(name = "Category")
protected Category[] category;
}
有什么想法吗? 我目前正在使用 XJC 2.2.6 和 Axis2 1.6.2。
【问题讨论】: