code: protected <T> T _execute(
                      final String string_url,
                      final HttpMethod method,
                      final RequestCallback callback,
                      final ResponseExtractor<T> extractor
                      )
      {
          _LOG_.debug( "HTTP: method = " + method + ", URL=" + string_url );
  
          URI  uri = null;
          try {
              URL  url = new URL( string_url );   //throws MalformedURLException
              uri = url.toURI();                  //throws URISyntaxException
          } catch (Exception ex) {
              _LOG_.error( "HTTP client error: " + ex );
              throw new HttpException( ex );
          }
  
          T  response = null;
          try {
              RestTemplate  rest = new RestTemplate();
              response = rest.execute( uri, method, callback, extractor );
                              //throws RestClientException
          } catch (Exception ex) {
              _LOG_.error( "HTTP client error: " + ex );
              throw new HttpException( ex );
          }
  
          return response;
      }
docs: Generic HTTP method execution.
  
  @throws  HttpException
  when an exceptional condition occurred during the HTTP method execution.