1
我正在使用wsimport從WSDL文件(也生成)生成我的JAX-WS客戶端,並且在客戶端生成枚舉的問題不匹配服務器端。wsimport錯誤地生成枚舉類型並帶有下劃線
從我的WSDL文件中的適用片斷顯示了正確的條目:
<xs:simpleType name="type">
<xs:restriction base="xs:string">
<xs:enumeration value="BLAH_99X"/>
<xs:enumeration value="BLAH_123"/>
<xs:enumeration value="BLAH_ABC"/>
</xs:restriction>
</xs:simpleType>
生成的枚舉的客戶端適用的部分是:
@XmlType(name = "type")
@XmlEnum
public enum Type {
@XmlEnumValue("BLAH_99X")
BLAH_99_X("BLAH_99X"),
BLAH_123("BLAH_123"),
BLAH_ABC("BLAH_ABC");
}
我本來期望的是,枚舉項目爲客戶端生成的匹配將從服務器端(和WSDL)匹配。然而,當你看它時,除了生成BLAH_99_X
的第一個項目之外,它們都會正確生成它們,然後映射到正確的值。
是否有任何真正的原因,它必須生成該項目的方式呢?有沒有人遇到這個問題,以及如何使它正確生成?
更新
我添加了一個瘋狂的值(T1A32BCS12
)到我的枚舉只是一種預感,它產生T_1_A_32_BCS_12("T1A32BCS12")
作爲客戶端代碼我枚舉項目。所以,似乎任何時候你有一封信和一個並排的wsimport在它們之間插入一個下劃線。這是wsimport中的一個錯誤嗎?看起來這不應該是合乎邏輯的原因。