Wie kann ich einen MessageBodyWriter für eine Liste <Some> testen?
Ich habe eine JAX-RS-Ressourcenmethode.
@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<Some> list() {
final List<Some> list = get();
// list and each elements are ok.
return list;
}
Das Problem ist, dassapplication/xml
generiert ein 500er-Protokoll ohne ein bestimmtes Server-Protokoll (Tomcat-Protokoll).
application/json
funktioniert gut
Ich überprüfe JAXB-Marshaller für jedes Element inlist
.
Wie kann ich das debuggen? Wie kann ich ein @ testeMessageBodyWriter
zumList<Some>
?
AKTUALISIERE
Die Hauptursache für dieses Problem (500 ohne Fehlerprotokoll) ist eine mit JAXB-Anmerkungen versehene Klasse.
Ich habe ein @ erstelExceptionMapper<Exception>
wie @peeskillet vorgeschlagen.
@Provider
public class MyExceptionMapper implements ExceptionMapper<Exception> {
@Override
public Response toResponse(final Exception exception) {
exception.printStackTrace(System.err);
return Response.serverError().build();
}
}
Dann konnte ich sehen, welchen Fehler JAXB gemacht hat. Ich verstehe immer noch nicht, warum JAXB-Fehler nicht gemeldet werden.