我喜欢Enum
类型安全,它也使代码更具可读性。我总是Enum
一有机会就利用。
当我需要将这些代码公开为 Web 服务时,问题就开始了。例如,如果我有这样的枚举:
public enum Language {
ENGLISH(1),
BAHASA_MALAYSIA(2);
}
它将在 wsdl 中公开,如下所示:
<xs:simpleType name="language">
<xs:restriction base="xs:string">
<xs:enumeration value="ENGLISH"/>
<xs:enumeration value="BAHASA_MALAYSIA"/>
</xs:restriction>
</xs:simpleType>
如果将来我决定添加一种新语言我会遇到麻烦,wsdl 文件会有所不同,并且会破坏旧客户端。
我的问题是,如何防止枚举在 wsdl 中暴露为枚举?我希望它被暴露为简单的数据类型String
或者int
.
如果有问题,我正在使用JBoss WS 。