I am working with JAX-RS webservices.
When an unexpected occures in the application the webservice must not expose the error to the users of the webservices.
Therefore i made an exceptionhandler fot cathing al unsigned an signed exceptions.
When an error occures the server respose nice with error message 500 conform the HTTP 1.1 protocol
package com.narrowconnect.prototype.webservices;
import java.util.Date;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Class die de foutafhandeling regelt.
* Alle fouten worden opgevangen en
*
* @author jeroen
*
*/
@Provider
public class ExceptionHandling implements ExceptionMapper<Exception> {
Logger logger = LoggerFactory.getLogger(ExceptionHandling.class);
/* (non-Javadoc)
* @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
*/
@Override
public Response toResponse(Exception arg0) {
logger.error(arg0.getLocalizedMessage());
ResponseBuilder builder = Response.serverError();
builder.lastModified(new Date());
builder.entity("Server Error, A server error occurred.");
return builder.build();
}
}