wsimport generating enum types incorrectly with extra underscore(Wsimport错误地生成带有额外下划线的枚举类型)
问题描述
我正在使用wsimport从(也生成的)wsdl文件生成我的JAX-WS客户端,但在客户端生成与服务器端不匹配的枚举时遇到问题。
我的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中的错误吗?似乎没有合理的理由会发生这种情况。
推荐答案
为了保持事物的整洁,避免周围有毫无意义的公开问题...这显然是JAX-WS RI 2.2.7中的一个错误。据我所知,没有解决办法。
这篇关于Wsimport错误地生成带有额外下划线的枚举类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Wsimport错误地生成带有额外下划线的枚举类型
				
        
 
            
        基础教程推荐
- 大摇大摆的枚举 2022-01-01
 - 验证是否调用了所有 getter 方法 2022-01-01
 - 从 python 访问 JVM 2022-01-01
 - 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
 - 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
 - 多个组件的复杂布局 2022-01-01
 - 在 Java 中创建日期的正确方法是什么? 2022-01-01
 - Java 实例变量在两个语句中声明和初始化 2022-01-01
 - Java Swing计时器未清除 2022-01-01
 - 不推荐使用 Api 注释的描述 2022-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				