2011-12-08 41 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);