我创建了一个CXF Web服务,除了参数为Enum的方法外,所有方法都有效。我使用wsdl2java命令生成了我的javaclient代码。
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 Enum的wsdl定义如下所示:
<xs:simpleType name="orderDirection">
<xs:restriction base="xs:string">
<xs:enumeration value="DESC"/>
<xs:enumeration value="ASC"/>
</xs:restriction>
</xs:simpleType>
答案 0 :(得分:0)
我的界面出错了。我在酸性旅行中定义了这样的Enums:
List<User> getAllUsers(String orderBy, Enum<OrderDirection> direction);
它应该是这样的:
List<User> getAllUsers(String orderBy, OrderDirection direction);