2012-10-04 2 views
1

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에서 버그입니까? 이것이 일어나야하는 논리적 인 이유가없는 것 같습니다.

답변

3

주변을 깨끗하게 유지하고 무의미한 질문을하지 않으려면 실제로 JAX-WS RI 2.2.7의 버그입니다. 내가 아는 한 해결 방법은 없습니다.

관련 문제