コード例 #1
0
ファイル: MetadataResolver.cs プロジェクト: dox0/DotNet471RS3
        private static ServiceEndpointCollection ImportEndpoints(MetadataSet metadataSet, IEnumerable <ContractDescription> contracts, MetadataExchangeClient client)
        {
            ServiceEndpointCollection endpoints = new ServiceEndpointCollection();

            WsdlImporter importer = new WsdlImporter(metadataSet);

            // remember the original proxy so user doesn't need to set it again
            importer.State.Add(MetadataExchangeClient.MetadataExchangeClientKey, client);

            foreach (ContractDescription cd in contracts)
            {
                importer.KnownContracts.Add(WsdlExporter.WsdlNamingHelper.GetPortTypeQName(cd), cd);
            }

            foreach (ContractDescription cd in contracts)
            {
                ServiceEndpointCollection contractEndpoints;
                contractEndpoints = importer.ImportEndpoints(cd);
                foreach (ServiceEndpoint se in contractEndpoints)
                {
                    endpoints.Add(se);
                }
            }

            //Trace all warnings and errors
            if (importer.Errors.Count > 0)
            {
                TraceWsdlImportErrors(importer);
            }

            return(endpoints);
        }
コード例 #2
0
        private static ServiceEndpointCollection ImportEndpoints(MetadataSet metadataSet, IEnumerable <ContractDescription> contracts, MetadataExchangeClient client)
        {
            ServiceEndpointCollection endpoints = new ServiceEndpointCollection();
            WsdlImporter importer = new WsdlImporter(metadataSet);

            importer.State.Add("MetadataExchangeClientKey", client);
            foreach (ContractDescription description in contracts)
            {
                importer.KnownContracts.Add(WsdlExporter.WsdlNamingHelper.GetPortTypeQName(description), description);
            }
            foreach (ContractDescription description2 in contracts)
            {
                foreach (ServiceEndpoint endpoint in importer.ImportEndpoints(description2))
                {
                    endpoints.Add(endpoint);
                }
            }
            if (importer.Errors.Count > 0)
            {
                TraceWsdlImportErrors(importer);
            }
            return(endpoints);
        }
 private static ServiceEndpointCollection ImportEndpoints(MetadataSet metadataSet, IEnumerable<ContractDescription> contracts, MetadataExchangeClient client)
 {
     ServiceEndpointCollection endpoints = new ServiceEndpointCollection();
     WsdlImporter importer = new WsdlImporter(metadataSet);
     importer.State.Add("MetadataExchangeClientKey", client);
     foreach (ContractDescription description in contracts)
     {
         importer.KnownContracts.Add(WsdlExporter.WsdlNamingHelper.GetPortTypeQName(description), description);
     }
     foreach (ContractDescription description2 in contracts)
     {
         foreach (ServiceEndpoint endpoint in importer.ImportEndpoints(description2))
         {
             endpoints.Add(endpoint);
         }
     }
     if (importer.Errors.Count > 0)
     {
         TraceWsdlImportErrors(importer);
     }
     return endpoints;
 }
コード例 #4
0
 ServiceEndpointCollection ImportWsdlPortType(XmlQualifiedName portTypeQName, WsdlImporter importer)
 {
     foreach (WsdlNS.ServiceDescription wsdl in importer.WsdlDocuments)
     {
         if (wsdl.TargetNamespace == portTypeQName.Namespace)
         {
             WsdlNS.PortType wsdlPortType = wsdl.PortTypes[portTypeQName.Name];
             if (wsdlPortType != null)
             {
                 ServiceEndpointCollection endpoints = importer.ImportEndpoints(wsdlPortType);
                 return endpoints;
             }
         }
     }
     return new ServiceEndpointCollection();
 }
 private ServiceEndpointCollection ImportWsdlPortType(XmlQualifiedName portTypeQName, WsdlImporter importer)
 {
     foreach (System.Web.Services.Description.ServiceDescription description in importer.WsdlDocuments)
     {
         if (description.TargetNamespace == portTypeQName.Namespace)
         {
             PortType wsdlPortType = description.PortTypes[portTypeQName.Name];
             if (wsdlPortType != null)
             {
                 return importer.ImportEndpoints(wsdlPortType);
             }
         }
     }
     return new ServiceEndpointCollection();
 }
コード例 #6
0
        private static ServiceEndpointCollection ImportEndpoints(MetadataSet metadataSet, IEnumerable<ContractDescription> contracts, MetadataExchangeClient client)
        {
            ServiceEndpointCollection endpoints = new ServiceEndpointCollection();

            WsdlImporter importer = new WsdlImporter(metadataSet);

            // remember the original proxy so user doesn't need to set it again 
            importer.State.Add(MetadataExchangeClient.MetadataExchangeClientKey, client);

            foreach (ContractDescription cd in contracts)
            {
                importer.KnownContracts.Add(WsdlExporter.WsdlNamingHelper.GetPortTypeQName(cd), cd);
            }

            foreach (ContractDescription cd in contracts)
            {
                ServiceEndpointCollection contractEndpoints;
                contractEndpoints = importer.ImportEndpoints(cd);
                foreach (ServiceEndpoint se in contractEndpoints)
                {
                    endpoints.Add(se);
                }
            }

            //Trace all warnings and errors
            if (importer.Errors.Count > 0)
            {
                TraceWsdlImportErrors(importer);
            }

            return endpoints;
        }
コード例 #7
0
ファイル: MiscImportTests.cs プロジェクト: nlhepler/mono
		public void BasicHttpBinding_ImportEndpoints ()
		{
			var label = new TestLabel ("BasicHttpBinding_ImportEndpoints");
			
			var doc = TestContext.LoadMetadata ("BasicHttp");
			var sd = (WS.ServiceDescription)doc.MetadataSections [0].Metadata;
			
			label.EnterScope ("wsdl");
			Assert.That (sd.Bindings, Is.Not.Null, label.Get ());
			Assert.That (sd.Bindings.Count, Is.EqualTo (1), label.Get ());
			var binding = sd.Bindings [0];
			
			Assert.That (sd.Services, Is.Not.Null, label.Get ());
			Assert.That (sd.Services.Count, Is.EqualTo (1), label.Get ());
			var service = sd.Services [0];
			
			Assert.That (service.Ports, Is.Not.Null, label.Get ());
			Assert.That (service.Ports.Count, Is.EqualTo (1), label.Get ());
			var port = service.Ports [0];
			
			Assert.That (sd.PortTypes, Is.Not.Null, label.Get ());
			Assert.That (sd.PortTypes.Count, Is.EqualTo (1), label.Get ());
			var portType = sd.PortTypes [0];
			
			label.LeaveScope ();
			
			var importer = new WsdlImporter (doc);
			
			label.EnterScope ("by-service");
			var byService = importer.ImportEndpoints (service);
			BindingTestAssertions.CheckImportErrors (importer, label);
			Assert.That (byService, Is.Not.Null, label.Get ());
			Assert.That (byService.Count, Is.EqualTo (1), label.Get ());
			label.LeaveScope ();
			
			label.EnterScope ("by-binding");
			var byBinding = importer.ImportEndpoints (binding);
			BindingTestAssertions.CheckImportErrors (importer, label);
			Assert.That (byBinding, Is.Not.Null, label.Get ());
			Assert.That (byBinding.Count, Is.EqualTo (1), label.Get ());
			label.LeaveScope ();
			
			label.EnterScope ("by-port-type");
			var byPortType = importer.ImportEndpoints (portType);
			BindingTestAssertions.CheckImportErrors (importer, label);
			Assert.That (byPortType, Is.Not.Null, label.Get ());
			Assert.That (byPortType.Count, Is.EqualTo (1), label.Get ());
			label.LeaveScope ();
		}