2011-12-08 2 views
0

저는 CXF webservice를 만들었고 모든 메소드는 인수가 Enum 인 메소드를 제외하고 작동합니다. wsdl2java 명령을 사용하여 javaclient 코드를 생성했습니다.Apache CXF Enum이 jaxbexception을 제공합니다.

public enum OrderDirection { 
    DESC, ASC; 

    public String value() { 
     return name(); 
    } 
} 

것은 내가 예를 들어, 실행 해, getAllUsers (해 orderBy, OrderDirection.DESC); 나는 예외를 얻을 :

[javax.xml.bind.JAXBException: class com.tdr.wsclient.OrderDirection nor any of its super class is known to this context.] 

OrderDirection 열거에 대한 WSDL 정의는 다음과 같습니다

<xs:simpleType name="orderDirection"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="DESC"/> 
     <xs:enumeration value="ASC"/> 
    </xs:restriction> 
    </xs:simpleType> 

답변

0

그것은 내 인터페이스에 오류가 있었다. 내 열거 형은 다음과 같이 내가 산 여행에 가지고 정의 :

List<User> getAllUsers(String orderBy, Enum<OrderDirection> direction); 

은 다음과 같이해야한다 :

List<User> getAllUsers(String orderBy, OrderDirection direction);