コード例 #1
0
 private void AddReferencedTypesAndKnownContracts(
     ContractGenerationOptions options,
     WsdlImporter wsdlImporter,
     ServiceContractGenerator contractGenerator)
 {
     foreach (Type type in options.ReferencedTypes)
     {
         if (type.IsDefined(typeof(ServiceContractAttribute), false))
         {
             try
             {
                 ContractDescription contractDescription = ContractDescription.GetContract(type);
                 XmlQualifiedName    xmlName             = new XmlQualifiedName(contractDescription.Name, contractDescription.Namespace);
                 wsdlImporter.KnownContracts.Add(xmlName, contractDescription);
                 contractGenerator.ReferencedTypes.Add(contractDescription, type);
                 continue;
             }
             catch (Exception exception)
             {
                 throw new TypeLoadException(
                           string.Format(CultureInfo.CurrentCulture,
                                         Properties.Resources.ErrUnableToLoadReferenceType,
                                         type.AssemblyQualifiedName), exception);
             }
         }
     }
 }
コード例 #2
0
        private void AddStateForXmlSerializerImport(ContractGenerationOptions options,
                                                    WsdlImporter wsdlImporter, CodeCompileUnit codeCompileUnit)
        {
            XmlSerializerImportOptions importOptions = new XmlSerializerImportOptions(codeCompileUnit);

            importOptions.WebReferenceOptions = new WebReferenceOptions();
            importOptions.WebReferenceOptions.CodeGenerationOptions = CodeGenerationOptions.GenerateOrder |
                                                                      CodeGenerationOptions.GenerateProperties;
            if (options.EnableDataBinding)
            {
                importOptions.WebReferenceOptions.CodeGenerationOptions |= CodeGenerationOptions.EnableDataBinding;
            }
            if (options.GenerateAsyncMethods)
            {
                importOptions.WebReferenceOptions.CodeGenerationOptions |= CodeGenerationOptions.GenerateNewAsync;
            }

            importOptions.WebReferenceOptions.SchemaImporterExtensions.Add(typeof(TypedDataSetSchemaImporterExtension).AssemblyQualifiedName);
            importOptions.WebReferenceOptions.SchemaImporterExtensions.Add(typeof(DataSetSchemaImporterExtension).AssemblyQualifiedName);
            importOptions.CodeProvider = options.CodeProvider;

            string clrNamespace = null;

            options.NamespaceMappings.TryGetValue(ContractGenerationOptions.NamespaceMappingsAllKeyName, out clrNamespace);
            importOptions.ClrNamespace = clrNamespace;

            importOptions.WebReferenceOptions.Verbose = true;
            //importOptions.WebReferenceOptions.Style = ServiceDescriptionImportStyle.Client;

            wsdlImporter.State.Add(typeof(XmlSerializerImportOptions), importOptions);
        }
コード例 #3
0
        private ImportOptions CreateDataContractImportOptions(ContractGenerationOptions options)
        {
            ImportOptions importOptions = new ImportOptions();

            importOptions.GenerateSerializable = options.GenerateSerializable;
            importOptions.GenerateInternal     = options.GenerateInternalTypes;
            importOptions.ImportXmlType        = options.ImportXmlType;
            importOptions.EnableDataBinding    = options.EnableDataBinding;
            importOptions.CodeProvider         = options.CodeProvider;

            foreach (Type type in options.ReferencedTypes)
            {
                importOptions.ReferencedTypes.Add(type);
            }

            foreach (Type type in options.ReferencedCollectionTypes)
            {
                importOptions.ReferencedCollectionTypes.Add(type);
            }

            foreach (KeyValuePair <string, string> pair in options.NamespaceMappings)
            {
                importOptions.Namespaces.Add(pair.Key, pair.Value);
            }

            return(importOptions);
        }
コード例 #4
0
        private void AddStateForDataContractSerializerImport(ContractGenerationOptions options,
                                                             WsdlImporter wsdlImporter, CodeCompileUnit codeCompileUnit)
        {
            XsdDataContractImporter xsdImporter = new XsdDataContractImporter(codeCompileUnit);

            xsdImporter.Options = CreateDataContractImportOptions(options);
            wsdlImporter.State.Add(typeof(XsdDataContractImporter), xsdImporter);
        }
コード例 #5
0
        public void ShouldGenerateContractFromHostWithDefaultOptions()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfiguration = ConfigurationLoader.LoadConfiguration(@"SampleData\Empty.config");
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));

            ContractGeneratorCommonAsserts(generator, options);
        }
コード例 #6
0
        public void ShouldGenerateContractFromWsdlWithDefaultOptions()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfiguration = ConfigurationLoader.LoadConfiguration(@"SampleData\Empty.config", "ShouldGenerateContractFromWsdlWithDefaultOptions");
            Uri wsdlLocation = new Uri(ConfigurationLoader.GetConfigurationFilePath(@"SampleData\DescriptionModel\MockService.wsdl"));
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(wsdlLocation));

            ContractGeneratorCommonAsserts(generator, options);
        }
コード例 #7
0
		private static ContractGenerator CreateContractGenerator()
		{
			ContractGenerationOptions options = new ContractGenerationOptions();

			options.GenerateClientClass = false;
			options.GenerateChannelInterface = false;
			options.GenerateAsyncMethods = false;
			options.GenerateInternalTypes = false;
			options.GenerateSerializable = false;
			options.GenerateTypedMessages = false;
			options.ImportXmlType = true;
			options.SchemaImporterType = ContractGenerationOptions.ImporterType.All;
			return new ContractGenerator(options);
		}
コード例 #8
0
        private ServiceContractGenerator CreateServiceContractGenerator(ContractGenerationOptions options,
                                                                        System.Configuration.Configuration inputConfiguration, CodeCompileUnit codeCompileUnit)
        {
            ServiceContractGenerator generator = new ServiceContractGenerator(codeCompileUnit, inputConfiguration);

            SetContractGeneratorOptions(options, generator);

            foreach (KeyValuePair <string, string> pair in options.NamespaceMappings)
            {
                generator.NamespaceMappings.Add(pair.Key, pair.Value);
            }

            return(generator);
        }
コード例 #9
0
        private ContractGenerator CreateContractGenerator(bool importXmlType)
        {
            ContractGenerationOptions options       = new ContractGenerationOptions();
            ImportOptions             importOptions = CreateImportOptions(importXmlType);

            options.GenerateClientClass      = false;
            options.GenerateChannelInterface = false;
            options.GenerateAsyncMethods     = false;
            options.GenerateInternalTypes    = importOptions.GenerateInternal;
            options.GenerateSerializable     = importOptions.GenerateSerializable;
            options.GenerateTypedMessages    = false;
            options.ImportXmlType            = importOptions.ImportXmlType;
            options.SchemaImporterType       = importXmlType ? ContractGenerationOptions.ImporterType.XmlSerializerImporter :
                                               ContractGenerationOptions.ImporterType.XsdDataContractImporter;
            return(new ContractGenerator(options));
        }
コード例 #10
0
        private void SetContractGeneratorOptions(ContractGenerationOptions options, ServiceContractGenerator contractGenerator)
        {
            if (options.GenerateAsyncMethods)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.AsynchronousMethods;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.AsynchronousMethods;
            }

            if (options.GenerateInternalTypes)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.InternalTypes;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.InternalTypes;
            }

            if (options.GenerateTypedMessages)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.TypedMessages;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.TypedMessages;
            }

            if (options.GenerateChannelInterface)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.ChannelInterface;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.ChannelInterface;
            }

            if (options.GenerateClientClass)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.ClientClass;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.ClientClass;
            }
        }
コード例 #11
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:ProxyGenerator"/> class.
        /// </summary>
        /// <param name="options">The options.</param>
        public ContractGenerator(ContractGenerationOptions options)
        {
            if (!string.IsNullOrEmpty(options.OutputConfigurationFile))
            {
                System.Configuration.Configuration machineConfiguration = ConfigurationManager.OpenMachineConfiguration();
                ExeConfigurationFileMap configurationMap = new ExeConfigurationFileMap();
                configurationMap.ExeConfigFilename = options.OutputConfigurationFile;
                configurationMap.MachineConfigFilename = machineConfiguration.FilePath;
                this.configuration = ConfigurationManager.OpenMappedExeConfiguration(configurationMap, ConfigurationUserLevel.None);
            }
            else if (options.OutputConfiguration != null)
            {
                this.configuration = options.OutputConfiguration;
            }

            this.codeCompileUnit = new CodeCompileUnit();
            this.options = options;
            this.generatedChannelElements = new Collection<ChannelEndpointElement>();
        }
コード例 #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:ProxyGenerator"/> class.
        /// </summary>
        /// <param name="options">The options.</param>
        public ContractGenerator(ContractGenerationOptions options)
        {
            if (!string.IsNullOrEmpty(options.OutputConfigurationFile))
            {
                System.Configuration.Configuration machineConfiguration = ConfigurationManager.OpenMachineConfiguration();
                ExeConfigurationFileMap            configurationMap     = new ExeConfigurationFileMap();
                configurationMap.ExeConfigFilename     = options.OutputConfigurationFile;
                configurationMap.MachineConfigFilename = machineConfiguration.FilePath;
                this.configuration = ConfigurationManager.OpenMappedExeConfiguration(configurationMap, ConfigurationUserLevel.None);
            }
            else if (options.OutputConfiguration != null)
            {
                this.configuration = options.OutputConfiguration;
            }

            this.codeCompileUnit          = new CodeCompileUnit();
            this.options                  = options;
            this.generatedChannelElements = new Collection <ChannelEndpointElement>();
        }
コード例 #13
0
        private void AddStateForXmlSerializerImport(ContractGenerationOptions options,
            WsdlImporter wsdlImporter, CodeCompileUnit codeCompileUnit)
        {
            XmlSerializerImportOptions importOptions = new XmlSerializerImportOptions(codeCompileUnit);
            importOptions.WebReferenceOptions = new WebReferenceOptions();
            importOptions.WebReferenceOptions.CodeGenerationOptions = CodeGenerationOptions.GenerateOrder |
                                                                      CodeGenerationOptions.GenerateProperties;
            if (options.EnableDataBinding)
            {
                importOptions.WebReferenceOptions.CodeGenerationOptions |= CodeGenerationOptions.EnableDataBinding;
            }
            if (options.GenerateAsyncMethods)
            {
                importOptions.WebReferenceOptions.CodeGenerationOptions |= CodeGenerationOptions.GenerateNewAsync;
            }

            importOptions.WebReferenceOptions.SchemaImporterExtensions.Add(typeof(TypedDataSetSchemaImporterExtension).AssemblyQualifiedName);
            importOptions.WebReferenceOptions.SchemaImporterExtensions.Add(typeof(DataSetSchemaImporterExtension).AssemblyQualifiedName);
            importOptions.CodeProvider = options.CodeProvider;

            string clrNamespace = null;
            options.NamespaceMappings.TryGetValue(ContractGenerationOptions.NamespaceMappingsAllKeyName, out clrNamespace);
            importOptions.ClrNamespace = clrNamespace;

            importOptions.WebReferenceOptions.Verbose = true;
            //importOptions.WebReferenceOptions.Style = ServiceDescriptionImportStyle.Client;

            wsdlImporter.State.Add(typeof(XmlSerializerImportOptions), importOptions);
        }
コード例 #14
0
 private void AddStateForDataContractSerializerImport(ContractGenerationOptions options,
     WsdlImporter wsdlImporter, CodeCompileUnit codeCompileUnit)
 {
     XsdDataContractImporter xsdImporter = new XsdDataContractImporter(codeCompileUnit);
     xsdImporter.Options = CreateDataContractImportOptions(options);
     wsdlImporter.State.Add(typeof(XsdDataContractImporter), xsdImporter);
 }
コード例 #15
0
        private void SetContractGeneratorOptions(ContractGenerationOptions options, ServiceContractGenerator contractGenerator)
        {
            if (options.GenerateAsyncMethods)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.AsynchronousMethods;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.AsynchronousMethods;
            }

            if (options.GenerateInternalTypes)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.InternalTypes;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.InternalTypes;
            }

            if (options.GenerateTypedMessages)
            {
                contractGenerator.Options |= ServiceContractGenerationOptions.TypedMessages;
            }
            else
            {
                contractGenerator.Options &= ~ServiceContractGenerationOptions.TypedMessages;
            }

			if (options.GenerateChannelInterface)
			{
				contractGenerator.Options |= ServiceContractGenerationOptions.ChannelInterface;
			}
			else
			{
				contractGenerator.Options &= ~ServiceContractGenerationOptions.ChannelInterface;
			}

			if (options.GenerateClientClass)
			{
				contractGenerator.Options |= ServiceContractGenerationOptions.ClientClass;
			}
			else
			{
				contractGenerator.Options &= ~ServiceContractGenerationOptions.ClientClass;
			}
        }
コード例 #16
0
        private ServiceContractGenerator CreateServiceContractGenerator(ContractGenerationOptions options,
            System.Configuration.Configuration inputConfiguration, CodeCompileUnit codeCompileUnit)
        {
            ServiceContractGenerator generator = new ServiceContractGenerator(codeCompileUnit, inputConfiguration);
            SetContractGeneratorOptions(options, generator);

            foreach (KeyValuePair<string, string> pair in options.NamespaceMappings)
            {
                generator.NamespaceMappings.Add(pair.Key, pair.Value);
            }

            return generator;
        }
コード例 #17
0
 private void AddReferencedTypesAndKnownContracts(
     ContractGenerationOptions options,
     WsdlImporter wsdlImporter, 
     ServiceContractGenerator contractGenerator)
 {
     foreach (Type type in options.ReferencedTypes)
     {
         if (type.IsDefined(typeof(ServiceContractAttribute), false))
         {
             try
             {
                 ContractDescription contractDescription = ContractDescription.GetContract(type);
                 XmlQualifiedName xmlName = new XmlQualifiedName(contractDescription.Name, contractDescription.Namespace);
                 wsdlImporter.KnownContracts.Add(xmlName, contractDescription);
                 contractGenerator.ReferencedTypes.Add(contractDescription, type);
                 continue;
             }
             catch (Exception exception)
             {
                 throw new TypeLoadException(
                     string.Format(CultureInfo.CurrentCulture,
                         Properties.Resources.ErrUnableToLoadReferenceType,
                         type.AssemblyQualifiedName), exception);
             }
         }
     }
 }
コード例 #18
0
		public void ShouldMergeConfigContentWithSameEndpoint()
		{
			ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfigurationFile = ConfigurationLoader.GetConfigurationFilePath(@"SampleData\Empty.config", "ShouldMergeConfigContentWithSameEndpoint", true);

			string originalConfig = File.ReadAllText(options.OutputConfigurationFile);
			ContractGenerator generator = new ContractGenerator(options);
			MetadataSet metadata = GetMetadataSet(HostAddress);
			WsdlImporter importer = generator.CreateWsdlImporter(metadata);
			generator.Generate(importer);
			// generate twice in order to update and get only one endpoint in config
			generator.Generate(importer);

			Assert.AreNotEqual(originalConfig, File.ReadAllText(options.OutputConfigurationFile));

			// Assert config file
			ServiceModelConfigurationManager manager = new ServiceModelConfigurationManager(generator.Configuration);
			ClientSection client = manager.GetClient();
			Assert.AreEqual<int>(2, client.Endpoints.Count);
		}
コード例 #19
0
        public void ShouldGenerateAndSaveConfigFile()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfigurationFile = ConfigurationLoader.GetConfigurationFilePath(@"SampleData\Empty.config", "ShouldGenerateAndSaveConfigFile", true);

            string originalConfig = File.ReadAllText(options.OutputConfigurationFile);
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));

            Assert.AreNotEqual(originalConfig, File.ReadAllText(options.OutputConfigurationFile));
        }
コード例 #20
0
        public void ShouldGenerateProtectionLevelSignValueFromWsdlFile()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
            ContractGenerator generator = new ContractGenerator(options);
			Uri wsdlLocation = new Uri(ConfigurationLoader.GetConfigurationFilePath(@"SampleData\DescriptionModel\MockService.wsdl"));
            generator.Generate(GetMetadataSet(wsdlLocation));

            string proxyClass = GetClassFromCcu(options.CodeProvider, generator.CodeCompileUnit);
            Assert.IsNotNull(proxyClass);
            Assert.IsTrue(proxyClass.Contains("ProtectionLevel.Sign"), "Contains ProtectionLevel value.");
        }
コード例 #21
0
        public void ThrowOnCustomWsdlImporterNotFound()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfiguration = ConfigurationLoader.LoadConfiguration(@"SampleData\DescriptionModel\WsdlImporterNotFound.config");
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));
        }
コード例 #22
0
        public void ShouldGenerateConfigFileWithWsHttpBinding()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfigurationFile = ConfigurationLoader.GetConfigurationFilePath(@"SampleData\Empty.config", "ShouldGenerateConfigFileWithWsHttpBinding");
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));
            string configFileContent = File.ReadAllText(options.OutputConfigurationFile);
            Assert.IsTrue(configFileContent.Contains("<wsHttpBinding>"));
        }
コード例 #23
0
        public void ShouldGenerateOneEndpointFromHostWithMultipleEndpoints()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfiguration = ConfigurationLoader.LoadConfiguration(@"SampleData\Empty.config");
            options.ImportedEndpointNames.Add(Constants.ServiceDescription.WsHttpHostClientName);
            ContractGenerator generator = new ContractGenerator(options);
            MetadataSet metadata = GetMetadataSet(HostAddressMultiEndpoint);
            generator.Generate(GetMetadataSet(HostAddressMultiEndpoint));

            ContractGeneratorCommonAsserts(generator, options);
        }
コード例 #24
0
        public void ShouldGenerateVBProxy()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
            options.CodeProvider = new VBCodeProvider();
            ContractGenerator generator = new ContractGenerator(options);
			Uri wsdlLocation = new Uri(ConfigurationLoader.GetConfigurationFilePath(@"SampleData\DescriptionModel\MockService.wsdl"));
            generator.Generate(GetMetadataSet(wsdlLocation));

            string proxyClass = GetClassFromCcu(options.CodeProvider, generator.CodeCompileUnit);
            Assert.IsNotNull(proxyClass);
            Assert.IsTrue(proxyClass.Contains("Public Sub New()"), "Contains VB code");
        }
コード例 #25
0
		public void ShouldGenerateContractFromHostWithDataContractSerializerType()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
			options.OutputConfiguration = ConfigurationLoader.LoadConfiguration(@"SampleData\Empty.config");
            options.ClrNamespace = "Test.Namespace1";
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));

            string proxyClass = GetClassFromCcu(options.CodeProvider, generator.CodeCompileUnit);
            Assert.IsNotNull(proxyClass);
            Assert.IsTrue(proxyClass.Contains(options.ClrNamespace), "Contains namespace");
            Assert.IsTrue(proxyClass.Contains("MyDataContract"), "Contains MyDataContract class");

			CompilerResults results = DynamicCompilation.CompileAssemblyFromSource(proxyClass);

			Type generatedType = results.CompiledAssembly.GetType(options.ClrNamespace + ".MyDataContract", false);
			Assert.IsNotNull(generatedType);
        }
コード例 #26
0
        private ImportOptions CreateDataContractImportOptions(ContractGenerationOptions options)
        {
            ImportOptions importOptions = new ImportOptions();
            importOptions.GenerateSerializable = options.GenerateSerializable;
            importOptions.GenerateInternal = options.GenerateInternalTypes;
            importOptions.ImportXmlType = options.ImportXmlType;
            importOptions.EnableDataBinding = options.EnableDataBinding;
            importOptions.CodeProvider = options.CodeProvider;

            foreach (Type type in options.ReferencedTypes)
            {
                importOptions.ReferencedTypes.Add(type);
            }

            foreach (Type type in options.ReferencedCollectionTypes)
            {
                importOptions.ReferencedCollectionTypes.Add(type);
            }

            foreach (KeyValuePair<string, string> pair in options.NamespaceMappings)
            {
                importOptions.Namespaces.Add(pair.Key, pair.Value);
            }

            return importOptions;
        }
コード例 #27
0
		private ContractGenerator CreateContractGenerator(bool importXmlType)
		{
			ContractGenerationOptions options = new ContractGenerationOptions();
			ImportOptions importOptions = CreateImportOptions(importXmlType);
			
			options.GenerateClientClass = false;
			options.GenerateChannelInterface = false;
			options.GenerateAsyncMethods = false;
			options.GenerateInternalTypes = importOptions.GenerateInternal;
			options.GenerateSerializable = importOptions.GenerateSerializable;
			options.GenerateTypedMessages = false;
			options.ImportXmlType = importOptions.ImportXmlType;
			options.SchemaImporterType = importXmlType ? ContractGenerationOptions.ImporterType.XmlSerializerImporter : 
														 ContractGenerationOptions.ImporterType.XsdDataContractImporter;
			return new ContractGenerator(options);
		}
コード例 #28
0
        public void ShouldGenerateProtectionLevelSignValueFromHost()
        {
            ContractGenerationOptions options = new ContractGenerationOptions();
            ContractGenerator generator = new ContractGenerator(options);
            generator.Generate(GetMetadataSet(HostAddress));

            string proxyClass = GetClassFromCcu(options.CodeProvider, generator.CodeCompileUnit);
            Assert.IsNotNull(proxyClass);
            Assert.IsTrue(proxyClass.Contains("ProtectionLevel.Sign"), "Contains ProtectionLevel value.");
        }
コード例 #29
0
        private void ContractGeneratorCommonAsserts(ContractGenerator generator, ContractGenerationOptions options)
        {
            // Assert proxy class
            string proxyClass = GetClassFromCcu(options.CodeProvider, generator.CodeCompileUnit);
            Assert.IsNotNull(proxyClass);
            Assert.IsTrue(proxyClass.Contains("IMockServiceContract"));

            // Assert config file
            ServiceModelConfigurationManager manager = new ServiceModelConfigurationManager(generator.Configuration);
            ClientSection client = manager.GetClient();

            Assert.AreEqual(1, client.Endpoints.Count);
            ChannelEndpointElement createdEndpoint = client.Endpoints[0];
            Assert.AreEqual(Constants.Uris.TestContractGenerationEndpointAddress, createdEndpoint.Address.AbsoluteUri);
            Assert.AreEqual(Constants.ServiceDescription.WsHttpHostClientName, createdEndpoint.Name);
            Assert.AreEqual(Constants.ServiceDescription.WsHttpHostClientBinding, createdEndpoint.Binding);
        }