logger.warn("Could not retrieve Id or Value for event: " + e.getMessage()); return false;
@Override public void sendFailureResponseToClient(MessagingException messagingException, ResponseCompletionCallback responseCompletationCallback) throws MuleException { //For now let's use the HTTP transport exception mapping since makes sense and the gateway depends on it. String exceptionStatusCode = ExceptionHelper.getTransportErrorMapping(HTTP.getScheme(), messagingException.getClass(), sourceMuleEvent.getMuleContext()); Integer statusCodeFromException = exceptionStatusCode != null ? Integer.valueOf(exceptionStatusCode) : INTERNAL_SERVER_ERROR_STATUS_CODE; final org.mule.module.http.internal.domain.response.HttpResponseBuilder failureResponseBuilder = new org.mule.module.http.internal.domain.response.HttpResponseBuilder() .setStatusCode(statusCodeFromException) .setReasonPhrase(messagingException.getMessage()); addThrottlingHeaders(failureResponseBuilder); MuleEvent event = messagingException.getEvent(); event.getMessage().setPayload(messagingException.getMessage()); final HttpResponse response = errorResponseBuilder.build(failureResponseBuilder, event); responseReadyCallback.responseReady(response, getResponseFailureCallback(responseCompletationCallback, messagingException.getEvent())); }
private void sendFailureResponseToClient(MessagingException exception, int httpStatus) throws IOException, MuleException { MuleEvent response = exception.getEvent(); response.getMessage().setPayload(exception.getMessage()); httpStatus = response.getMessage().getOutboundProperty(HttpConnector.HTTP_STATUS_PROPERTY) != null ? Integer.valueOf(response.getMessage().getOutboundProperty(HttpConnector.HTTP_STATUS_PROPERTY).toString()) : httpStatus; response.getMessage().setOutboundProperty(HttpConnector.HTTP_STATUS_PROPERTY, httpStatus); HttpResponse httpResponse = transformResponse(response.getMessage()); httpServerConnection.writeResponse(httpResponse, getThrottlingHeaders()); }
@Override public void sendFailureResponseToClient(MessagingException messagingException) throws MuleException { try { int statusCode = retrieveStatusCode(messagingException); servletResponseWriter.writeErrorResponse(servletResponse, messagingException.getEvent().getMessage(), statusCode, messagingException.getMessage(), httpThrottlingHeadersMapBuilder.build()); } catch (Exception e) { throw new DefaultMuleException(e); } failureResponseSentToClient = true; }