protected override XElement Process(RequestMessage request) { Console.WriteLine(String.Format("[{0}] Received Message", DateTime.Now)); // Read Message Parameters string firstName = (string)request.Parameters.Where(x => x.Name == "FIRST_NAME").First().Value; string lastName = (string)request.Parameters.Where(x => x.Name == "LAST_NAME").First().Value; string postcode = (string)request.Parameters.Where(x => x.Name == "POSTCODE").First().Value; DateTime dob = (DateTime)request.Parameters.Where(x => x.Name == "DOB").First().Value; // Perform Lookup ILookupService service = ServiceProvider.GetService(typeof(ILookupService)) as ILookupService; if (service == null) { throw new InvalidOperationException("Lookup Service not configured!"); } var match = service.CustomerExists(firstName, lastName, dob, postcode); return(new XElement("PolicyRules", new XAttribute("Status", match ? "PASSED" : "FAILED"))); }