code: public HTTPResponse submitHTTPRequest(HTTPRequest httpRequest,HTTPClientConfiguration httpClientConfiguration,HTTPMethod httpMethod)
      {
          //create HTTP client
          HttpClient httpClient=this.createHttpClient();
          
          //create URL
          String url=this.createURL(httpRequest,httpClientConfiguration);
          
          //create request
          HttpMethodBase httpMethodClient=this.createMethod(url,httpMethod);
          
          //setup header properties
          this.setupHTTPRequestHeaderProperties(httpRequest,httpMethodClient);
  
          //set content
          this.setRequestContent(httpRequest,httpMethodClient);
  
          //get logger
          LoggerManager loggerManager=LoggerManager.getInstance();
          Logger logger=loggerManager.getLogger();
          
          try
          {
              logger.logDebug(new Object[]{"Submitting HTTP request: ",httpMethodClient.getURI()},null);
          }
          catch(URIException exception)
          {
              logger.logDebug(new Object[]{"Submitting HTTP request"},null);
          }
  
          String responseContent=null;
          int statusCode=-1;
          try
          {
              //submit HTTP request
              statusCode=httpClient.executeMethod(httpMethodClient);
  
              if(statusCode>=400)
              {
                  throw new FaxException("Error while invoking HTTP request, return status code: "+statusCode);
              }
              
              //get response content
              responseContent=httpMethodClient.getResponseBodyAsString();
          }
          catch(FaxException exception)
          {
              throw exception;
          }
          catch(Exception exception)
          {
              throw new FaxException("Error while executing HTTP request.",exception);
          }
          finally
          {
              //release connection
              httpMethodClient.releaseConnection();
          }
  
          //create HTTP response
          HTTPResponse httpResponse=this.createHTTPResponse(statusCode,responseContent);
  
          return httpResponse;
      }
docs: Submits the HTTP request and returns the HTTP response.
  
  @param   httpRequest
  The HTTP request to send
  @param   httpClientConfiguration
  HTTP client configuration
  @param   httpMethod
  The HTTP method to use
  @return  The HTTP response