2010-04-19 58 views
0

我正在使用RestEasy库来执行JAX-RS Web服务。我没有在我的服务方法中实例化JAXBContext。有没有办法让JAX-RS在它返回的XML中包含“<?xml version ...?>”标题字符串?下面是从我的代码示例服务方法:JAX-RS和JAXB_ENCODING

@GET 
@Path("/patients/{patient_id}/diagnoses/portal_edits") 
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 
public Response getDiagnosisPortalEdits(@Context final UriInfo info, 
             @PathParam("practice_id") final int practiceId, 
             @PathParam("patient_id") final long patientId) { 
    logger.info(SERVICE_NAME + ".getDiagnosisPortalEdits: " + info.getPath()); 

    final DiagnosisPortalEdits diagnosisPortalEdits = new DiagnosisPortalEdits(); 

    diagnosisPortalEdits.getDiagnosisPortalEdits().addAll(DefaultDiagnosisPortalEditService.doLoadForPatientId(practiceId, 
      patientId)); 
    return Response.ok(diagnosisPortalEdits).build(); 
} 

回答

1

添加以下注释到类:

@XmlHeader("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")