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();

    }

 

}