public Response toResponse(WebApplicationException ex) { Response r = ex.getResponse(); if (r == null) { r = Response.serverError().build(); } boolean doAddMessage = r.getEntity() != null ? false : addMessageToResponse; Message msg = PhaseInterceptorChain.getCurrentMessage(); FaultListener flogger = null; if (msg != null) { flogger = (FaultListener)PhaseInterceptorChain.getCurrentMessage() .getContextualProperty(FaultListener.class.getName()); } String errorMessage = doAddMessage || flogger != null ? buildErrorMessage(r, ex) : null; if (flogger == null || !flogger.faultOccurred(ex, errorMessage, msg)) { Level level = printStackTrace ? Level.WARNING : Level.FINE; LOG.log(level, getStackTrace(ex)); } if (doAddMessage) { r = JAXRSUtils.copyResponseIfNeeded(r); r = JAXRSUtils.fromResponse(r).entity(errorMessage).type(MediaType.TEXT_PLAIN).build(); } return r; }
public Response toResponse(WebApplicationException ex) { Response r = ex.getResponse(); if (r == null) { r = Response.serverError().build(); } boolean doAddMessage = r.getEntity() != null ? false : addMessageToResponse; Message msg = PhaseInterceptorChain.getCurrentMessage(); FaultListener flogger = null; if (msg != null) { flogger = (FaultListener)PhaseInterceptorChain.getCurrentMessage() .getContextualProperty(FaultListener.class.getName()); } String errorMessage = doAddMessage || flogger != null ? buildErrorMessage(r, ex) : null; if (flogger == null || !flogger.faultOccurred(ex, errorMessage, msg)) { Level level = printStackTrace ? getStackTraceLogLevel(msg, r) : Level.FINE; LOG.log(level, ExceptionUtils.getStackTrace(ex)); } if (doAddMessage) { r = JAXRSUtils.copyResponseIfNeeded(r); r = buildResponse(r, errorMessage); } return r; }
boolean useDefaultLogging = true; if (flogger != null) { useDefaultLogging = flogger.faultOccurred(ex2, description.toString(), message);
boolean useDefaultLogging = true; if (flogger != null) { useDefaultLogging = flogger.faultOccurred(ex2, description.toString(), message);
private void wrapExceptionAsFault(Message message, RuntimeException ex) { String description = getServiceInfo(message); message.setContent(Exception.class, ex); unwind(message); Exception ex2 = message.getContent(Exception.class); if (ex2 == null) { ex2 = ex; } FaultListener flogger = (FaultListener) message.getContextualProperty(FaultListener.class.getName()); boolean useDefaultLogging = true; if (flogger != null) { useDefaultLogging = flogger.faultOccurred(ex2, description, message); } if (useDefaultLogging) { doDefaultLogging(message, ex2, description); } if (message.getExchange() != null && message.getContent(Exception.class) != null) { message.getExchange().put(Exception.class, ex2); } if (faultObserver != null && !isOneWay(message)) { // CXF-5629. when exchange is one way and robust, it becomes req-resp in order to // send the fault message.getExchange().setOneWay(false); faultObserver.onMessage(message); } }
private void wrapExceptionAsFault(Message message, RuntimeException ex) { String description = getServiceInfo(message); message.setContent(Exception.class, ex); unwind(message); Exception ex2 = message.getContent(Exception.class); if (ex2 == null) { ex2 = ex; } FaultListener flogger = (FaultListener) message.getContextualProperty(FaultListener.class.getName()); boolean useDefaultLogging = true; if (flogger != null) { useDefaultLogging = flogger.faultOccurred(ex2, description, message); } if (useDefaultLogging) { doDefaultLogging(message, ex2, description); } if (message.getExchange() != null && message.getContent(Exception.class) != null) { message.getExchange().put(Exception.class, ex2); } if (faultObserver != null && !isOneWay(message)) { // CXF-5629. when exchange is one way and robust, it becomes req-resp in order to // send the fault message.getExchange().setOneWay(false); faultObserver.onMessage(message); } }