private Object handleFault(Fault ex, Message inMessage, ClassResourceInfo cri, Method methodToInvoke) { String errorMessage = ex.getMessage(); if (errorMessage != null && cri != null && errorMessage.contains(PROXY_INVOCATION_ERROR_FRAGMENT)) { org.apache.cxf.common.i18n.Message errorM = new org.apache.cxf.common.i18n.Message("PROXY_INVOCATION_FAILURE", BUNDLE, methodToInvoke, cri.getServiceClass().getName()); LOG.severe(errorM.toString()); } Response excResponse = JAXRSUtils.convertFaultToResponse(ex.getCause() == null ? ex : ex.getCause(), inMessage); if (excResponse == null) { inMessage.getExchange().put(Message.PROPOGATE_EXCEPTION, ExceptionUtils.propogateException(inMessage)); throw ex; } return new MessageContentsList(excResponse); }
private void convertExceptionToResponseIfPossible(Throwable ex, Message message) { Response excResponse = JAXRSUtils.convertFaultToResponse(ex, message); if (excResponse == null) { ProviderFactory.getInstance(message).clearThreadLocalProxies(); message.getExchange().put(Message.PROPOGATE_EXCEPTION, ExceptionUtils.propogateException(message)); throw ex instanceof RuntimeException ? (RuntimeException)ex : ExceptionUtils.toInternalServerErrorException(ex, null); } message.getExchange().put(Response.class, excResponse); }
private Object handleFault(Fault ex, Message inMessage, ClassResourceInfo cri, Method methodToInvoke) { String errorMessage = ex.getMessage(); if (errorMessage != null && cri != null && errorMessage.contains(PROXY_INVOCATION_ERROR_FRAGMENT)) { org.apache.cxf.common.i18n.Message errorM = new org.apache.cxf.common.i18n.Message("PROXY_INVOCATION_FAILURE", BUNDLE, methodToInvoke, cri.getServiceClass().getName()); LOG.severe(errorM.toString()); } Response excResponse = JAXRSUtils.convertFaultToResponse(ex.getCause(), inMessage); if (excResponse == null) { ProviderFactory.getInstance(inMessage).clearThreadLocalProxies(); ClassResourceInfo criRoot = (ClassResourceInfo)inMessage.getExchange().get(JAXRSUtils.ROOT_RESOURCE_CLASS); if (criRoot != null) { criRoot.clearThreadLocalProxies(); } inMessage.getExchange().put(Message.PROPOGATE_EXCEPTION, ExceptionUtils.propogateException(inMessage)); throw ex; } return new MessageContentsList(excResponse); }
private void convertExceptionToResponseIfPossible(Throwable ex, Message message) { Response excResponse = JAXRSUtils.convertFaultToResponse(ex, message); if (excResponse == null) { ServerProviderFactory.getInstance(message).clearThreadLocalProxies(); message.getExchange().put(Message.PROPOGATE_EXCEPTION, ExceptionUtils.propogateException(message)); throw ex instanceof RuntimeException ? (RuntimeException)ex : ExceptionUtils.toInternalServerErrorException(ex, null); } message.getExchange().put(Response.class, excResponse); message.getExchange().put(Throwable.class, ex); }