private ServiceResponse Send(HttpWebRequest request)
        {
            var responseFromServer = new ServiceResponse();
            try
            {
                using (WebResponse response = request.GetResponse())
                {
                    responseFromServer = ServiceResponse.CreateServiceResponse((HttpWebResponse)response);
                }
            }
            catch (WebException webException)
            {
                HttpWebResponse response = webException.Response as HttpWebResponse;
                responseFromServer = ServiceResponse.CreateServiceResponse(response);
            }

            return responseFromServer;
        }
        public static ServiceResponse CreateServiceResponse(HttpWebResponse response)
        {
            ServiceResponse responseFromServer = new ServiceResponse();
            if (response != null)
            {
                responseFromServer.Status = response.StatusDescription;
                responseFromServer.StatusCode = response.StatusCode;
                // Reads response
                using (Stream dataStream = response.GetResponseStream())
                {
                    using (var reader = new StreamReader(dataStream))
                    {
                        responseFromServer.Response = reader.ReadToEnd();
                    }
                }
            }

            return responseFromServer;
        }