私は型安全性が大好き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
。
それが問題なら、私はJBossWSを使用しています。