public void ShouldGetMetadataFromBasicHttpHostWsdlAddress()
 {
     using (ServiceHost host = CreateBasicHttpHost(Address))
     {
         MetadataDiscovery instance = new MetadataDiscovery(WsdlAddress);
         MetadataSet metadata = instance.InspectMetadata();
         AssertMetadataForBasicHttp(metadata);
     }
 }
		/// <summary>
		/// Creates the WSDL importer.
		/// </summary>
		/// <param name="wsdlFile">The WSDL file.</param>
		/// <returns></returns>
		public static WsdlImporter CreateImporter(string wsdlFile)
		{
			MetadataDiscovery discovery = new MetadataDiscovery(ConfigurationLoader.GetConfigurationFilePath(wsdlFile));
			ContractGenerator generator = CreateContractGenerator();
			WsdlImporter importer = generator.CreateWsdlImporter(discovery.InspectMetadata());			
			importer.ImportAllEndpoints();
			importer.ImportAllContracts();
			importer.ImportAllBindings();
			ContractGenerator.ThrowOnMetadataConversionErrors(importer.Errors);
			return importer;
		}
Ejemplo n.º 3
0
        /// <summary>
        /// Read the schemas resolving dependencies
        /// </summary>
        /// <param name="schemaSources">The schema sources. (files or URIs)</param>
        /// <returns>Read schema files</returns>
        public XmlSchemaSet ReadSchemas(string[] schemaSources)
        {
            Guard.ArgumentNotNull(schemaSources, "schemaSources");

            MetadataSet metadataDocuments = new MetadataSet();

            foreach (string schemaSource in schemaSources)
            {
                MetadataDiscovery discovery   = new MetadataDiscovery(schemaSource);
                MetadataSet       metadataSet = discovery.InspectMetadata();
                foreach (MetadataSection section in metadataSet.MetadataSections)
                {
                    metadataDocuments.MetadataSections.Add(section);
                }
            }

            ContractGenerator generator = CreateContractGenerator(this.useXmlSerializerImporter);

            return(ReadSchemas(generator.CreateWsdlImporter(metadataDocuments)));
        }
 private MetadataSet GetMetadataSet(Uri address, 
     Type service, Type serviceContract, Type secondaryServiceContract)
 {
     MetadataDiscovery metadata = new MetadataDiscovery(address);
     if (!address.IsFile)
     {
         using (ServiceHost host = CreateWsHttpHost(address, service, serviceContract, secondaryServiceContract))
         {
             return metadata.InspectMetadata();
         }
     }            
     return metadata.InspectMetadata();
 }
		/// <summary>
		/// Read the schemas resolving dependencies
		/// </summary>
		/// <param name="schemaSources">The schema sources. (files or URIs)</param>
		/// <returns>Read schema files</returns>
		public XmlSchemaSet ReadSchemas(string[] schemaSources)
		{
			Guard.ArgumentNotNull(schemaSources, "schemaSources");

			MetadataSet metadataDocuments = new MetadataSet();
			foreach (string schemaSource in schemaSources)
			{
				MetadataDiscovery discovery = new MetadataDiscovery(schemaSource);
				MetadataSet metadataSet = discovery.InspectMetadata();
				foreach (MetadataSection section in metadataSet.MetadataSections)
				{
					metadataDocuments.MetadataSections.Add(section);
				}
			}

			ContractGenerator generator = CreateContractGenerator(this.useXmlSerializerImporter);
			return ReadSchemas(generator.CreateWsdlImporter(metadataDocuments));
		}
		public void ThrowOnFileNotFound()
		{
			MetadataDiscovery discovery = new MetadataDiscovery(@"c:\foo");
			discovery.InspectMetadata();
		}
 public void CanCreateInstance()
 {
     MetadataDiscovery instance = new MetadataDiscovery(Address);
     Assert.AreEqual(Address, instance.Address);
 }
		public void ShouldGetWritenMetadataDocumentsToFiles()
		{
			string wsdlLocation = ConfigurationLoader.GetConfigurationFilePath(@"SampleData\DescriptionModel\MockService.wsdl");
			MetadataDiscovery instance = new MetadataDiscovery(wsdlLocation);
			string mapFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + @"\Test\", "MockService.map");
			DiscoveryClientResultCollection results = instance.WriteMetadata(mapFile);

			Assert.AreEqual<int>(4, results.Count);
		}
        public void ShouldGetMetadataFromWsdlFile()
        {
			string wsdlLocation = ConfigurationLoader.GetConfigurationFilePath(@"SampleData\DescriptionModel\MockService.wsdl");
            MetadataDiscovery instance = new MetadataDiscovery(wsdlLocation);
            MetadataSet metadata = instance.InspectMetadata();
            AssertMetadataForWsdlFile(metadata);
        }
 public void ThrowOnNoValidSslAddress()
 {
     MetadataDiscovery instance = new MetadataDiscovery(SslAddress);
     instance.InspectMetadata();
 }
 public void ShouldGetMetadataFromBasicHttpHostAsync()
 {
     using (ServiceHost host = CreateBasicHttpHost(Address))
     {
         AutoResetEvent reset = new AutoResetEvent(false);
         MetadataDiscovery instance = new MetadataDiscovery(Address);
         instance.InspectMetadataCompleted += delegate(object sender, InspectMetadataCompletedEventArgs e)
         {
             try
             {
                 Assert.IsNull(e.Exception);
                 AssertMetadataForBasicHttp(e.Metadata);
             }
             finally
             {
                 reset.Set();
             }
         };
         instance.InspectMetadataAsync();
         reset.WaitOne(100000, true);
     }
 }
 public void ShouldFailWithNoMexEndpoint()
 {
     using (ServiceHost host = CreateBasicHttpHost(Address, false, true))
     {
         MetadataDiscovery instance = new MetadataDiscovery(Address);
         MetadataSet metadata = instance.InspectMetadata();
     }
 }
 public void ThrowOnBasicHttpHostSslMexAddress()
 {
     using (ServiceHost host = CreateBasicHttpHost(Address))
     {
         MetadataDiscovery instance = new MetadataDiscovery(SslMexAddress);
         instance.InspectMetadata();
     }
 }