RESTful создает двоичный файл

Я новичок в использовании CXF и Spring для создания веб-сервисов RESTful.

Это моя проблема: я хочу создать сервис, который производит «любой» тип файла (может быть изображение, документ, TXT или даже PDF), а также XML. Пока я получил этот код:

@Path("/download/")
@GET
@Produces({"application/*"})
public CustomXML getFile() throws Exception; 

Я не знаю точно, с чего начать, поэтому, пожалуйста, будьте терпеливы.

РЕДАКТИРОВАТЬ:

Полный код Брайанта Лука (спасибо!)

@Path("/download/")
@GET
public javax.ws.rs.core.Response getFile() throws Exception {
    if (/* want the pdf file */) {
        File file = new File("...");
        return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
            .header("content-disposition", "attachment; filename =" + file.getName())
            .build(); 
    }

    /* default to xml file */
    return Response.ok(new FileInputStream("custom.xml")).type("application/xml").build();
}

Ответы на вопрос(2)

Ваш ответ на вопрос