WSDL表示如下:
<xs:simpleType name="customerType">
<xs:restriction base="xs:string">
<xs:enumeration value="PRIVATE"/>
<xs:enumeration value="BUSINESS"/>
</xs:restriction>
</xs:simpleType>
通过cxf-codegen-plugin:
生成了如下代码public enum CustomerType {
PRIVATE, BUSINESS
}
可以在WSDL中表示为:
我们如何在WSDL中表示枚举,以便cxf-codegen-plugin可以生成如下代码:
public enum CustomerType {
PRIVATE{public BigInteger getNcid() {
return new BigInteger("1");
},
BUSINESS{public BigInteger getNcid() {
return new BigInteger("2");
}
public abstract BigInteger getNcid();
}
如果我们不能生成cxf-codegen,那么在java中处理这种情况的最佳方法是什么。我非常感谢你的帮助。
答案 0 :(得分:5)
这不代表同一件事。
您还没有说过您正在使用哪种编程语言,但看起来您打算将PRIVATE与值1相关联,并将BUSINESS与值2相关联。这在WSDL中没有表示。
WSDL使用XML Schema来描述数据的形状。 XML Schema没有与编程语言中的enum
等效的概念。在我所知的大多数编程语言中,enum
是一个命名常量。 XML Schema中的enumeration
方面不描述命名值。它只是说该点的值可以是列出的(字符串)值之一。