protected ProxyService GetService()
        {
            var configLocation = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Configuration.json");
            var configurationRepo = new ConfigurationRepository(configLocation);

            var employeeIdentityRespository = new EmployeeIdentityRepository();
            var requestTypeResolver = new RequestTypeResolver();
            var hmrcDataManipulator = new HmrcDataManipulator(employeeIdentityRespository, requestTypeResolver);
            var messageSender = new MessageSender();

            return new ProxyService(hmrcDataManipulator, configurationRepo, messageSender);
        }
        public HttpResponseMessage GetData(HttpRequestMessage request)
        {
            var content = request.Content;
            var xmlContent = content.ReadAsStringAsync().Result;

            var requestTypeResolver = new RequestTypeResolver();
            var responseFileRetriever = new ResponseFileRetriever();
            var service = new CascadeEdgeCaseService(requestTypeResolver, responseFileRetriever);

            var message = service.GetResponseFor(xmlContent);

            return new HttpResponseMessage
            {
                Content = new StringContent(message, Encoding.UTF8, "application/xml")
            };
        }