WSDL で使用される一般的な Web サービス タイプの XSD を作成しています。私が必要とする一般的な型の 1 つは、列挙型です。
私の問題は、生成されたアーティファクトが列挙型ではなくクラスである wsimport を実行するときです。
Eclipse Indigo の XSD および WSDL エディターを使用しています。これは、列挙型を作成するためにデザイン モードで行うことです。
- 新しい複合型 (ResponseCodeType) を作成する
- ResponseCodeType に新しい文字列要素 (コード) を追加します
- コードの Constraint プロパティに、次の制約値を追加します: SUCCESS、WARNING、ERROR、FATAL
私は何を間違っていますか?
XSD ソース
<complexType name="ResponseCodeType">
<sequence>
<element name="code">
<simpleType>
<restriction base="string">
<enumeration value="SUCCESS"></enumeration>
<enumeration value="WARNING"></enumeration>
<enumeration value="ERROR"></enumeration>
<enumeration value="FATAL"></enumeration>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
wsimport によって生成されるアーティファクトの Java ソース
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ResponseCodeType", propOrder = {
"code"
})
public class ResponseCodeType {
@XmlElement(required = true)
protected String code;
/**
* Gets the value of the code property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCode() {
return code;
}
/**
* Sets the value of the code property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCode(String value) {
this.code = value;
}
}