static void Main(string[] args)
        {
            const String soapServiceEndpointAddress = "SOAP";
            const String restServiceEndpointAddress = "REST";

            Uri soapBaseAddress = new Uri("http://*****:*****@"C:\Temp\"))
            {
                Dictionary<string, OraclePermissionGeneratorDataInterfaceLayer> userDataRespository = new Dictionary<string, OraclePermissionGeneratorDataInterfaceLayer>();
                SoapWebServiceApi soapApiInstance = new SoapWebServiceApi(userDataRespository, trackingDataLogger);
                RestWebServiceApi restApiInstance = new RestWebServiceApi(userDataRespository, trackingDataLogger);
                soapApiInstance.AddUser("*****@*****.**");
                soapApiInstance.LoadDataModelFromFile("*****@*****.**", @"..\..\..\Resources\Tutorial 2.xml", @"..\..\..\Resources\ORACLE_PERMISSION_GENERATOR_CONFIG.xsd");

                using (ServiceHost soapServiceHost = new ServiceHost(soapApiInstance, soapBaseAddress))
                using (ServiceHost restServiceHost = new ServiceHost(restApiInstance, restBaseAddress))
                {
                    // Set SOAP service host settings
                    ServiceMetadataBehavior soapServiceMetadataBehavior = new ServiceMetadataBehavior();
                    soapServiceMetadataBehavior.HttpGetEnabled = true;
                    soapServiceMetadataBehavior.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
                    soapServiceHost.Description.Behaviors.Add(soapServiceMetadataBehavior);
                    BasicHttpBinding soapBinding = new BasicHttpBinding();
                    ServiceEndpoint soapEndpoint = soapServiceHost.AddServiceEndpoint(typeof(ISoapWebServiceApi), soapBinding, soapServiceEndpointAddress);
                    // Set single instance
                    soapServiceHost.Description.Behaviors.Find<ServiceBehaviorAttribute>().InstanceContextMode = InstanceContextMode.Single;
                    // Turn on option to include exception in any web service interface errors
                    soapServiceHost.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;

                    // Set REST service host settings
                    ServiceMetadataBehavior restServiceMetadataBehavior = new ServiceMetadataBehavior();
                    restServiceMetadataBehavior.HttpGetEnabled = true;
                    restServiceMetadataBehavior.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
                    restServiceHost.Description.Behaviors.Add(restServiceMetadataBehavior);
                    WebHttpBinding restBinding = new WebHttpBinding();
                    ServiceEndpoint restEndpoint = restServiceHost.AddServiceEndpoint(typeof(IRestWebServiceApi), restBinding, restServiceEndpointAddress);
                    WebHttpBehavior restBehavior = new WebHttpBehavior();
                    restEndpoint.Behaviors.Add(restBehavior);
                    restServiceHost.Description.Behaviors.Find<ServiceBehaviorAttribute>().InstanceContextMode = InstanceContextMode.Single;
                    restServiceHost.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;

                    // Start the services
                    soapServiceHost.Open();
                    restServiceHost.Open();
                    Console.WriteLine("Press [Enter] to stop the service.");
                    Console.ReadLine();
                    restServiceHost.Close();
                    soapServiceHost.Close();
                }
            }
        }
        protected void SetUp()
        {
            testLocation = new Location();
            testLocation.Latitude = 35.6895;
            testLocation.Longitude = 139.6917;
            testLocation.SecondsSinceUpdate = 23;
            IpV4Address = new Byte[] { 192, 168, 2, 101 };

            mocks = new Mockery();
            mockTrackingDataLogger = mocks.NewMock<ITrackingDataLogger>();
            testSoapWebServiceApi = new SoapWebServiceApi(new Dictionary<string, OraclePermissionGeneratorDataInterfaceLayer>(), mockTrackingDataLogger);
            testSoapWebServiceApi.AddUser(testUserIdentifier);
        }