in jax-rs(jersey + jetty) application, i've added custom headers response can use @ client side. i'm using responsebuilder achieve this.
@provider public class customexceptionmapper implements exceptionmapper<customexception> { private static final logger logger = loggerfactory.getlogger(customexceptionmapper.class); @context private httpheaders headers; @override public response toresponse(customexception exception) { string errorkey = null; string errorargs[] = null; // log stack trace logger.error("an error occurred during operation.", exception); if (exception instanceof metadataserverexception) { errorkey = exceptionmapperutil.checkfordbexception(exception.getcause()); if (errorkey != null) { return response.status(response.status.internal_server_error) .entity(messagesourceutils.getmessage(errorkey, errorargs, exceptionmapperutil.getlocale(headers))).type(mediatype.text_plain).build(); } } if(errorcodes.internal_server_error.equals(exception.getmessagekey()) && (exception.getmessagearguments() == null || exception.getmessagearguments().length==0) ){ exception.setmessagearguments(new object[]{"while executing operation"}); } // prepare response sent client return response.status(responsecodemapper.maptostatuscode(exception)). entity(exception.getmessage(exceptionmapperutil.getlocale(headers))). type(mediatype.text_plain).header("errorcode", exception.getmessagekey()). build(); } } and also, i've confirmed that response object getting built properly. however, reason, returned response doesn't contain custom header. clues to going wrong ?
Comments
Post a Comment