public string Send(NetMessage message)
        {
            System.Threading.Thread.Sleep(_testConfig.MessageDelay);
            message.DateTimeSent = DateTime.Now;

            // TODO: Add the detailed string...
            StringBuilder builder = new StringBuilder();

            if (!string.IsNullOrEmpty(_testConfig.ExecuteVerbs))
            {
                if (_testConfig.ExecuteVerbs.Contains("POST"))
                {
                    builder.Append(POST(message, true)); builder.Append("|");
                }

                if (_testConfig.ExecuteVerbs.Contains("GET"))
                {
                    builder.Append(GET(message)); builder.Append("|");
                }

                if (_testConfig.ExecuteVerbs.Contains("PUT"))
                {
                    builder.Append(PUT(message)); builder.Append("|");
                }

                if (_testConfig.ExecuteVerbs.Contains("DELETE"))
                {
                    builder.Append(DELETE(message)); builder.Append("|");
                }

                return string.Format(" Series {0} Completed ", builder.ToString());
            }
            else
            {
                return POST(message, false);   // Default is POST
            }
        }
        private string POST(NetMessage message, bool inSeries)
        {
            HttpContent httpContent = HttpContent.Create(message.Request, "application/xml");
            string statusCode = string.Empty;

            using (HttpResponseMessage response = _client.Post(ServiceURI, httpContent))
            {
                message.Processed = true;
                message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.Created);
                message.Responce = response.Content.ReadAsString();
                statusCode = response.StatusCode.ToString();

                // Set the Id for further processing; AbsolutePath is something like /BizMsgService/314 OR /api/BizMsgService/314 
                string[] segments = response.Headers.Location.AbsolutePath.Split('/');
                message.Id = segments[segments.Length-1];
            }

            if (inSeries)
            {
                if (message.SuccessfullyCompleted) return "C";
                return statusCode;
            }
            return string.Format(" Response Code: {0} ", statusCode);
        }
        private string DELETE(NetMessage message)
        {
            string statusCode = string.Empty;

            using (HttpResponseMessage response = _client.Delete(ServiceURI + message.Id))
            {
                message.Processed = true;
                message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.OK);
                message.Responce = response.Content.ReadAsString();
                statusCode = response.StatusCode.ToString();
            }

            if (message.SuccessfullyCompleted) return "D";
            return statusCode;
        }
        private string PUT(NetMessage message)
        {
            HttpContent httpContent = HttpContent.Create(message.Request, "application/xml");
            string statusCode = string.Empty;

            using (HttpResponseMessage response = _client.Put(ServiceURI + message.Id, httpContent))
            {
                message.Processed = true;
                message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.Accepted);
                message.Responce = response.Content.ReadAsString();
                statusCode = response.StatusCode.ToString();
            }
            
            if (message.SuccessfullyCompleted) return "U";
            return statusCode;
        }