protected Response handleResponse(Message outMessage, Class<?> responseClass, Type genericType) { try { ResponseBuilder rb = setResponseBuilder(outMessage, outMessage.getExchange()); Response currentResponse = rb.clone().build();
protected Response handleResponse(Message outMessage, Class<?> responseClass, Type genericType) { try { ResponseBuilder rb = setResponseBuilder(outMessage, outMessage.getExchange()); Response currentResponse = rb.clone().build(); ((ResponseImpl)currentResponse).setOutMessage(outMessage); Object entity = readBody(currentResponse, outMessage, responseClass, genericType, new Annotation[]{}); if (entity == null) { int status = currentResponse.getStatus(); if (status >= 400) { entity = currentResponse.getEntity(); } } rb = JAXRSUtils.fromResponse(currentResponse, false); rb.entity(entity instanceof Response ? ((Response)entity).getEntity() : entity); Response r = rb.build(); getState().setResponse(r); ((ResponseImpl)r).setOutMessage(outMessage); return r; } catch (Throwable ex) { throw (ex instanceof ProcessingException) ? (ProcessingException)ex : new ProcessingException(ex); } finally { ClientProviderFactory.getInstance(outMessage).clearThreadLocalProxies(); } }
protected Response handleResponse(Message outMessage, Class<?> responseClass, Type genericType) { try { ResponseBuilder rb = setResponseBuilder(outMessage, outMessage.getExchange()); Response currentResponse = rb.clone().build(); ((ResponseImpl)currentResponse).setOutMessage(outMessage); Object entity = readBody(currentResponse, outMessage, responseClass, genericType, new Annotation[]{}); if (entity == null) { int status = currentResponse.getStatus(); if (status >= 400) { entity = currentResponse.getEntity(); } } rb = JAXRSUtils.fromResponse(currentResponse, false); rb.entity(entity instanceof Response ? ((Response)entity).getEntity() : entity); Response r = rb.build(); getState().setResponse(r); ((ResponseImpl)r).setOutMessage(outMessage); return r; } catch (Throwable ex) { throw (ex instanceof ProcessingException) ? (ProcessingException)ex : new ProcessingException(ex); } finally { ClientProviderFactory.getInstance(outMessage).clearThreadLocalProxies(); } }