wsimport를 사용하여 WSDL 파일 (생성 됨)에서 JAX-WS 클라이언트를 생성하고 클라이언트 측에서 열거 형을 생성하는 문제가 있습니다. 서버 측과 일치하지 않습니다.wsimport가 _ 밑줄로 enum 유형을 잘못 생성했습니다.
<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>
클라이언트의 생성 열거의 적용 부분은 다음과 같습니다 :
내 WSDL 파일에서 적용 가능한 조각은 올바른 항목을 보여줍니다
@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에서 버그입니까? 이것이 일어나야하는 논리적 인 이유가없는 것 같습니다.