throw RestEasyMessages.MESSAGES.youHaveNotSetABaseURIForTheClientProxy();
}
ClientRequest request = null;
BaseClientResponse clientResponse = null;
try {
request = createRequest(args, headers);
clientResponse = (BaseClientResponse) request.httpMethod(_httpMethod);
} catch (ClientResponseFailure crf) {
clientResponse = (BaseClientResponse) crf.getResponse();
} catch (Exception e) {
ClientExceptionMapper<Exception> mapper = _providerFactory.getClientExceptionMapper(Exception.class);
if (mapper != null) {
throw mapper.toException(e);
} else {
throw new RuntimeException(e);
}
}
ClientErrorHandler errorHandler = new ClientErrorHandler(_providerFactory.getClientErrorInterceptors());
clientResponse.setAttributeExceptionsTo(_method.toString());
clientResponse.setAnnotations(_method.getAnnotations());
ClientRequestContext clientRequestContext = new ClientRequestContext(request, clientResponse, errorHandler, _extractorFactory, _baseUri);
Object response = _extractor.extractEntity(clientRequestContext);
RESTEasyBindingData restResponse = new RESTEasyBindingData();
if (response != null) {
restResponse.setParameters(new Object[]{response});
}
// Propagate outgoing headers
restResponse.setHeaders(clientResponse.getHeaders());
restResponse.setStatusCode(clientResponse.getStatus());
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Incoming Headers to SwitchYard through OutboundHandler [");
RESTEasyProxy.traceLog(LOGGER, clientResponse.getHeaders());
LOGGER.trace("]");
}
return restResponse;
} finally {
if (!isProvidersSet) {