6
以下XSD(部分):如何告訴JAXB不產生@XmlSchemaType註釋
與XJC會生成Java代碼(FruitType是一個枚舉)<xs:complexType name="Fruit">
<xs:sequence>
<xs:element name="type" type="FruitType"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="FruitType">
<xs:restriction base="xs:string">
<xs:enumeration value="ABC">
</xs:enumeration>
<xs:enumeration value="DEF">
</xs:enumeration>
<xs:enumeration value="GHI">
</xs:enumeration>
<xs:enumeration value="JKL">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
生成代碼:
@XmlElement(required = true)
@XmlSchemaType(name = "string")
protected FruitType fruit;
當使用JAX-WS生成SOAP WebService時,將生成以下元素:
<xs:element name="type" type="xs:string"/>
這明顯錯了。我期望這是
<xs:element name="type" type="FruitType"/>
如果我的手在我的Java代碼都在WSDL中刪除此行
@XmlSchemaType(name = "string")
是好的:
<xs:element name="type" type="tns:FruitType"/>
所以,問題是:我如何告訴JAXB不要生成@XmlSchemaType?
請把你的解決方案寫成答案,在問題內部幾乎不可見。 – Lia
@dbaer你的解決方案適合我。請將此轉爲答案,您將獲得upvotes。 –