/// <summary>
        /// Creates a new web request.
        /// </summary>
        /// <param name="httpRequestType"> The HTTP request type.</param>
        /// <param name="url"> The url.</param>
        /// <returns> A new web request.</returns>
        public static WebRequest Create(HttpRequestType httpRequestType, string url)
        {
            WebRequest request = null;

            switch ( httpRequestType )
            {
                case HttpRequestType.GET:
                    request = new GetWebRequest();
                    request.Url = url;
                    break;
                case HttpRequestType.POST:
                    request = new PostWebRequest();
                    request.Url = url;
                    break;
                case HttpRequestType.PUT:
                    request = new PutWebRequest();
                    request.Url = url;
                    break;
                case HttpRequestType.DELETE:
                    request = new DeleteWebRequest();
                    request.Url = url;
                    break;
                case HttpRequestType.SOAPHTTP:
                    request = new SoapHttpWebRequest();
                    request.Url = url;
                    break;
            }

            return request;
        }
        /// <summary>
        /// Executes a SOAP over HTTP request.
        /// </summary>
        /// <param name="request"> Soap request to execute.</param>
        /// <param name="index"> The request index.</param>
        private void ExecuteSoapHttpRequest(SoapHttpWebRequest request, int index)
        {
            try
            {
                ConfigureOutputTransforms(request);

                _client.ProxySettings = this.Proxy;
                _client.ExecuteSoapHttpWebRequest(new HttpRequestResponseContext(request,index, false));
            }
            catch ( Exception ex )
            {
                AbortSessionRun(ex.ToString());
            }
        }