private WcfService TwoBasicHttpEndpointsServingSameContractSharingSameListenUriTestCase()
        {
            var service = CreateService();

            service.ServiceBehaviorXml = new ServiceBehaviorXml(
                "<behavior name=\"TestServiceBehavior\" ><serviceMetadata httpGetEnabled=\"true\" /></behavior>");

            var endpoint = new WcfServiceEndpoint
            {
                Address             = "urn:t1",
                BindingXml          = new BindingXml("basicHttpBinding", "<binding name=\"basicHttpBinding\"><readerQuotas maxArrayLength=\"16384\" /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6",
                ListenUri           = "",
                ListenUriMode       = WcfListenUriMode.Explicit
            };

            var endpoint2 = new WcfServiceEndpoint
            {
                Address             = "urn:t2",
                BindingXml          = new BindingXml("basicHttpBinding", "<binding name=\"basicHttpBinding\"><readerQuotas maxArrayLength=\"16384\" /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6",
                ListenUri           = "",
                ListenUriMode       = WcfListenUriMode.Explicit
            };

            service.Endpoints = new[] { endpoint, endpoint2 };

            return(service);
        }
        private WcfService CustomEndpointsTestCase()
        {
            var service = CreateService();

            service.ServiceBehaviorXml = new ServiceBehaviorXml(
                "<behavior name=\"TestServiceBehavior\" ><serviceMetadata httpGetEnabled=\"false\" /></behavior>");

            var endpoint = new WcfServiceEndpoint
            {
                BindingXml          = new BindingXml("customNamedPipeBinding", "<binding name=\"custom\"><binaryMessageEncoding /><namedPipeTransport /><testBindingExtension /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6"
            };

            service.Endpoints = new[] { endpoint };

            return(service);
        }
        private WcfService BasicHttpAbsoluteAddressTestCase()
        {
            var service = CreateService();

            service.ServiceBehaviorXml = new ServiceBehaviorXml(
                "<behavior name=\"TestServiceBehavior\" ><serviceMetadata httpGetEnabled=\"true\" /></behavior>");

            var endpoint = new WcfServiceEndpoint
            {
                Address             = "/relative",
                BindingXml          = new BindingXml("basicHttpBinding", "<binding name=\"basicHttpBinding\"><readerQuotas maxArrayLength=\"16384\" /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6"
            };

            service.Endpoints = new[] { endpoint };

            return(service);
        }
        private WcfService BasicHttpDefaultAddressTestCase()
        {
            NIntegrate.ServiceModel.Description.NIntegrateLoggingBehavior.LogError   += new NIntegrate.ServiceModel.Description.NIntegrateLoggingBehavior.LogErrorHandler(NIntegrateLoggingBehavior_LogError);
            NIntegrate.ServiceModel.Description.NIntegrateLoggingBehavior.LogMessage += new NIntegrate.ServiceModel.Description.NIntegrateLoggingBehavior.LogMessageHandler(NIntegrateLoggingBehavior_LogMessage);

            var service = CreateService();

            service.ServiceBehaviorXml = new ServiceBehaviorXml(
                "<behavior name=\"TestServiceBehavior\" ><serviceMetadata httpGetEnabled=\"true\" /><testBehavior /><nintegrateLogging /></behavior>");

            var endpoint = new WcfServiceEndpoint
            {
                BindingXml          = new BindingXml("basicHttpBinding", "<binding name=\"basicHttpBinding\"><readerQuotas maxArrayLength=\"16384\" /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6"
            };

            service.Endpoints = new[] { endpoint };

            return(service);
        }
示例#5
0
        public static WcfService LoadWcfServiceConfiguration(Type serviceType)
        {
            var serviceElement = _xmlDoc.SelectSingleNode("/WcfConfiguration/Host/service[@name='" + serviceType.ToString() + "']");
            var serviceConfig  = new WcfService {
                ServiceType = serviceType.AssemblyQualifiedName
            };
            var behavirConfigName = serviceElement.Attributes["behaviorConfiguration"].Value;
            var behaviorConfig    = _xmlDoc.SelectSingleNode("/WcfConfiguration/Behaviors/behavior[@name='" + behavirConfigName + "']");

            serviceConfig.ServiceBehaviorXml = new ServiceBehaviorXml(behaviorConfig.OuterXml);
            var endpointConfigs = new List <WcfServiceEndpoint>();

            foreach (XmlNode endpointElement in serviceElement.SelectNodes("endpoint"))
            {
                var endpointConfig = new WcfServiceEndpoint
                {
                    ServiceContractType = endpointElement.Attributes["contract"].Value,
                };
                if (endpointElement.Attributes["address"] != null)
                {
                    endpointConfig.Address = endpointElement.Attributes["address"].Value;
                }
                var bindingTypeCode = endpointElement.Attributes["binding"].Value;
                if (endpointElement.Attributes["bindingConfiguration"] == null)
                {
                    endpointConfig.BindingXml = new BindingXml(bindingTypeCode, null);
                }
                else
                {
                    var bindingConfigName = endpointElement.Attributes["bindingConfiguration"].Value;
                    var bindingElement    = _xmlDoc.SelectSingleNode("/WcfConfiguration/Bindings/binding[@name='" + bindingConfigName + "']");
                    endpointConfig.BindingXml = new BindingXml(bindingTypeCode, bindingElement.OuterXml);
                }
                endpointConfigs.Add(endpointConfig);
            }
            serviceConfig.Endpoints = endpointConfigs.ToArray();
            return(serviceConfig);
        }
        private WcfService NetNamedPipeAndMexNamedPipeEndpointsTestCase()
        {
            var service = CreateService();

            service.ServiceBehaviorXml = new ServiceBehaviorXml(
                "<behavior name=\"TestServiceBehavior\" ><serviceMetadata httpGetEnabled=\"false\" /></behavior>");

            var endpoint = new WcfServiceEndpoint
            {
                BindingXml          = new BindingXml("netNamedPipeBinding", "<binding name=\"netTcpBinding\"><readerQuotas maxArrayLength=\"16384\" /></binding>"),
                ServiceContractType = "NIntegrate.Test.TestClasses.ITestService, NIntegrate.Test, Version=1.0.0.1, Culture=neutral, PublicKeyToken=e2b9e2165dbdd5e6"
            };

            var endpoint2 = new WcfServiceEndpoint
            {
                Address             = "mexipc",
                BindingXml          = new BindingXml("mexNamedPipeBinding", null),
                ServiceContractType = "IMetadataExchange"
            };

            service.Endpoints = new[] { endpoint, endpoint2 };

            return(service);
        }
示例#7
0
        private static EndpointAddress CreateEndpointAddressWithHeadersAndIdentity(ServiceEndpoint serviceEndpoint, WcfServiceEndpoint endpoint)
        {
            var endpointAddress =
                new EndpointAddress(serviceEndpoint.Address.Uri,
                                    endpoint.IdentityXml == null
                                        ? null
                                        : endpoint.IdentityXml.CreateEndpointIdentity(),
                                    endpoint.HeadersXml == null
                                        ? null
                                        : endpoint.HeadersXml.CreateAddressHeaders());

            return(endpointAddress);
        }