我正在尝试访问一个 JAX-RS 服务(球衣实现),它返回一个 XML 格式的员工 java.util.list。
Service 方法签名如下所示:
@GET
@Path("/getEmployeeListXML")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_XML)
public List<EmployeeXML> getEmployeeListXML(@QueryParam("id") String id){
//Some code which returns a List<EmployeeXML>
}
返回的 XML 格式如下:
<employeeXMLs>
<employeeXML>
<empId>1</empId>
<empName>John</empName>
<empAge>35</empAge>
<empSex>Male</empSex>
</employeeXML>
<employeeXML>
<empId>2</empId>
<empName>Lisa</empName>
<empAge>23</empAge>
<empSex>Female</empSex>
</employeeXML>
</employeeXMLs>
为了从我的球衣客户端访问它,我使用以下代码:
List<EmployeeXML> empListXML = (List<EmployeeXML>)service.path("rest").path("GetService").path("getEmployeeListXML").accept(MediaType.APPLICATION_XML).get(EmployeeXML.class);
这是不正确的,因为返回类型应该是一个列表,但在 get 方法中,目前我正在尝试检索单个对象。我不知道如何在这里从客户端检索列表:(
我得到了这个例外:
unexpected element (uri:"", local:"employeeXMLs"). Expected elements are <{}employeeListXML>,<{}employeeXML>
请帮助我完成这项工作。
谢谢,