複雑な型のシーケンスを記述した 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 クラスに変換するjava.util.List
と、Catalog
クラス内にフィールドと getter/setter のが生成されますCategory
。
ただし、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;
}
何か案は?現在、Axis2 1.6.2 で XJC 2.2.6 を使用しています。