Java 如何使用SOAP Web服务从wsdl生成整数枚举
我正在尝试从wsdl创建枚举,我可以为字符串值创建枚举,但当我尝试为整数创建枚举时,它不是创建枚举,而是创建大整数。但我使用的方法与从wsdl创建字符串枚举相同。下面是我所做的Java 如何使用SOAP Web服务从wsdl生成整数枚举,java,web-services,soap,enums,wsdl,Java,Web Services,Soap,Enums,Wsdl,我正在尝试从wsdl创建枚举,我可以为字符串值创建枚举,但当我尝试为整数创建枚举时,它不是创建枚举,而是创建大整数。但我使用的方法与从wsdl创建字符串枚举相同。下面是我所做的 <xs:complexType name="PaymentInfo"> <xs:sequence> <xs:element minOccurs="0" name="bankAccountNumber" type="xs:string"/
<xs:complexType name="PaymentInfo">
<xs:sequence>
<xs:element minOccurs="0" name="bankAccountNumber" type="xs:string"/>
<xs:element minOccurs="0" name="bankRoutingNumber" type="xs:string"/>
<xs:element minOccurs="0" name="bankAccountType" type="tns:BankAccountType"/>
<xs:element minOccurs="0" name="cardExpirationDate" type="xs:string"/>
<xs:element minOccurs="0" name="cardNumber" type="xs:string"/>
<xs:element minOccurs="0" name="cardTypeV1sta" type="xs:integer"/>
<xs:element minOccurs="0" name="cardTypeOneStop" type="tns:CardTypeOneStop"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="enumType">
<xs:restriction base="xsd:integer">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
我正在做一个类似的案例
<xs:simpleType name="TransactionStatus">
<xs:restriction base="xsd:string">
<xs:enumeration value="E"/>
<xs:enumeration value="S"/>
</xs:restriction>
</xs:simpleType>
谁能帮助我如何从WSDL生成具有整数值的枚举?提前谢谢。您希望它生成什么?与E和S不同,1、2和3在Java中不是有效的枚举值。@RobObdeijn我想生成一个包含三个值并包含与其对应的整数的枚举,即公共枚举CardTypeV1sta{1(1)、2(2)、3(3);私有最终int值;私有状态(int值){this.value=value}public int getValue(){return value;}}}我假设您使用的是JaxB?在这种情况下,您可以查看TypeSafeEnumMember和TypeSafeEnumClass,如下所述:您希望它生成什么?与E和S不同,1、2和3在Java中不是有效的枚举值。@RobObdeijn我想生成一个包含三个值并包含与其对应的整数的枚举,即公共枚举CardTypeV1sta{1(1)、2(2)、3(3);私有最终int值;私有状态(int值){this.value=value}public int getValue(){return value;}}}我假设您使用的是JaxB?在这种情况下,您可以查看TypeSafeEnumMember和TypeSafeEnumClass,如下所述:
<xs:simpleType name="TransactionStatus">
<xs:restriction base="xsd:string">
<xs:enumeration value="E"/>
<xs:enumeration value="S"/>
</xs:restriction>
</xs:simpleType>
@XmlType(name = "TransactionStatus")
@XmlEnum
public enum TransactionStatus {
E,
S;
public String value() {
return name();
}
public static TransactionStatus fromValue(String v) {
return valueOf(v);
}
}