sau XSD (một phần):Làm thế nào để nói với JAXB không để tạo ra @XmlSchemaType Chú
<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>
đang Generating với XJC sẽ tạo mã java sau (FruitType là một Enum):
@XmlElement(required = true)
@XmlSchemaType(name = "string")
protected FruitType fruit;
Khi tạo một SOAP WebService với JAX-WS, phần tử sau sẽ được tạo:
<xs:element name="type" type="xs:string"/>
Rõ ràng nhất là ist sai rồi. Tôi mong đợi điều này là
<xs:element name="type" type="FruitType"/>
Nếu tôi xóa dòng này bằng tay
@XmlSchemaType(name = "string")
trong mọi Java Mã của tôi trong wsdl là tốt:
<xs:element name="type" type="tns:FruitType"/>
Vì vậy, câu hỏi là : Làm cách nào tôi có thể yêu cầu JAXB không tạo @XmlSchemaType?
Hãy viết giải pháp của bạn như là câu trả lời, nó hầu như không đáng chú ý bên trong câu hỏi. – Lia
@dbaer Giải pháp của bạn làm việc cho tôi. Vui lòng chuyển câu trả lời này thành câu trả lời và bạn sẽ nhận được upvotes. –