Esempio n. 1
0
        protected override void ExecuteAction(Context context, Step step)
        {
            string first = step.GetParameterValue<string>("String", 1);
            string second = step.GetParameterValue<string>("String", 2);

            ServiceAgent.Currency from = (ServiceAgent.Currency)Enum.Parse(typeof(ServiceAgent.Currency), first, true);
            ServiceAgent.Currency to = (ServiceAgent.Currency)Enum.Parse(typeof(ServiceAgent.Currency), second, true);

            ConfigurationChannelFactory<ServiceAgent.CurrencyConvertorSoap> channelFactory = null;
            double rate;
            try
            {
                channelFactory = new ConfigurationChannelFactory<ServiceAgent.CurrencyConvertorSoap>("CurrencyConvertorSoap", conf.Configuration, null);
                var client = channelFactory.CreateChannel();
                rate = client.ConversionRate(from, to);
            }
            catch (Exception)
            {
                rate = double.NaN;
            }
            finally
            {
                if (channelFactory != null)
                    channelFactory.Close();
            }

            context.AddPublishedItem("Number", step.Id, rate);
        }
Esempio n. 2
0
        public static System.ServiceModel.Description.ServiceEndpoint GetServiceEndpoint <T>() where T : IClientChannel
        {
            var configFullName = Assembly.GetExecutingAssembly().Location + ".config";
            var configuration  = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap {
                ExeConfigFilename = configFullName
            }, ConfigurationUserLevel.None);

            var channelType       = typeof(T);
            var contractType      = channelType.GetInterfaces().First(i => i.Namespace == channelType.Namespace);
            var contractAttribute = contractType.GetCustomAttributes(typeof(ServiceContractAttribute), false).First() as ServiceContractAttribute;

            var serviceModelSectionGroup = ServiceModelSectionGroup.GetSectionGroup(configuration);
            var channelEndpointElement   = serviceModelSectionGroup?.Client.Endpoints.OfType <ChannelEndpointElement>().First(e => e.Contract == contractAttribute?.ConfigurationName);
            var channelFactory           = new ConfigurationChannelFactory <T>(channelEndpointElement.Name, configuration, null);

            //var binding = channelFactory.Endpoint.Binding as BasicHttpBinding;
            //binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
            //binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
            //binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;

            //binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
            //binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
            //binding.Security.Message.AlgorithmSuite = SecurityAlgorithmSuite.Default;

            //channelFactory.Credentials.UserName.UserName = "******";
            //channelFactory.Credentials.UserName.Password = "";

            return(channelFactory.Endpoint);
        }
Esempio n. 3
0
        public static T CreateServiceClient <T>(string configName)
        {
            string _assemblyLocation = Assembly.GetExecutingAssembly().Location;
            var    PluginConfig      = ConfigurationManager.OpenExeConfiguration(_assemblyLocation);
            ConfigurationChannelFactory <T> channelFactory = new ConfigurationChannelFactory <T>(configName, PluginConfig, null);
            var client = channelFactory.CreateChannel();

            return(client);
        }
Esempio n. 4
0
        /// <summary>
        /// CreateChannelFactory method implementation
        /// </summary>
        private ChannelFactory <T> CreateChannelFactory <T>(string endpointConfigurationName)
        {
            string        clientConfigurationPath   = Microsoft.SharePoint.Utilities.SPUtility.GetCurrentGenericSetupPath(@"WebClients\SharePoint.IdentityService");
            Configuration clientConfiguration       = this.OpenClientConfiguration(clientConfigurationPath);
            ConfigurationChannelFactory <T> factory = new ConfigurationChannelFactory <T>(endpointConfigurationName, clientConfiguration, null);

            factory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);
            return(factory);
        }
        private ChannelFactory <T> CreateChannelFactory <T>(string endpointConfigName)
        {
            // open the client.config
            string        clientConfigPath          = SPUtility.GetGenericSetupPath(@"WebClients\DayNamer");
            Configuration clientConfig              = OpenClientConfiguration(clientConfigPath);
            ConfigurationChannelFactory <T> factory = new ConfigurationChannelFactory <T>(endpointConfigName, clientConfig, null);

            // configure the channel factory
            factory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);

            return(factory);
        }
Esempio n. 6
0
        public AdService(ILogger logger)
        {
            ErrorHandlingHelper.IfArgumentNullException(logger, "ILogger");
            _logger = logger;
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();

            fileMap.ExeConfigFilename = Path.Combine(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath, "App.config");
            Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
            ConfigurationChannelFactory <IService> factory = new ConfigurationChannelFactory <IService>("BasicHttpBinding_IService", newConfiguration, null);

            _client = factory.CreateChannel();
        }
Esempio n. 7
0
        public static void Main()
        {
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();

            fileMap.ExeConfigFilename = "Test.config";
            Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

            ConfigurationChannelFactory <ICalculatorChannel> factory1 = new ConfigurationChannelFactory <ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
            ICalculatorChannel client1 = factory1.CreateChannel();

            ConfigurationChannelFactory <ICalculatorChannel> factory2 = new ConfigurationChannelFactory <ICalculatorChannel>("endpoint2", newConfiguration, new EndpointAddress("net.tcp://localhost:8080/servicemodelsamples/service"));
            ICalculatorChannel client2 = factory2.CreateChannel();

            // Call the Add service operation.
            double value1 = 100.00D;
            double value2 = 15.99D;
            double result = client1.Add(value1, value2);

            Console.WriteLine("(HTTP)Add({0},{1}) = {2}", value1, value2, result);
            result = client2.Add(value1, value2);
            Console.WriteLine("(TCP) Add({0},{1}) = {2}", value1, value2, result);

            // Call the Subtract service operation.
            value1 = 145.00D;
            value2 = 76.54D;
            result = client1.Subtract(value1, value2);
            Console.WriteLine("(HTTP)Subtract({0},{1}) = {2}", value1, value2, result);
            result = client2.Subtract(value1, value2);
            Console.WriteLine("(TCP) Subtract({0},{1}) = {2}", value1, value2, result);

            // Call the Multiply service operation.
            value1 = 9.00D;
            value2 = 81.25D;
            result = client1.Multiply(value1, value2);
            Console.WriteLine("(HTTP)Multiply({0},{1}) = {2}", value1, value2, result);
            result = client2.Multiply(value1, value2);
            Console.WriteLine("(TCP) Multiply({0},{1}) = {2}", value1, value2, result);

            // Call the Divide service operation.
            value1 = 22.00D;
            value2 = 7.00D;
            result = client1.Divide(value1, value2);
            Console.WriteLine("(HTTP)Divide({0},{1}) = {2}", value1, value2, result);
            result = client2.Divide(value1, value2);
            Console.WriteLine("(TCP) Divide({0},{1}) = {2}", value1, value2, result);

            // Closing the connection gracefully and cleaning up resources
            client1.Close();
            client2.Close();

            Console.WriteLine("Press <ENTER> to exit.");
            Console.ReadLine();
        }
        ChannelFactory <T> CreateChannelFactory <T>(string endpointConfigurationName)
        {
            // Open the Client.config file from the WebClients folder
            string        clientConfigurationPath   = SPUtility.GetGenericSetupPath(@"WebClients\ParagoServices");
            Configuration clientConfiguration       = OpenClientConfiguration(clientConfigurationPath);
            ConfigurationChannelFactory <T> factory = new ConfigurationChannelFactory <T>(endpointConfigurationName, clientConfiguration, null);

            // Configure the channel factory for IDFx claims authentication
            factory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);

            return(factory);
        }
Esempio n. 9
0
        public static void Main()
        {
            ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
            fileMap.ExeConfigFilename = "Test.config";
            Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

            ConfigurationChannelFactory<ICalculatorChannel> factory1 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
            ICalculatorChannel client1 = factory1.CreateChannel();

            ConfigurationChannelFactory<ICalculatorChannel> factory2 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint2", newConfiguration, new EndpointAddress("net.tcp://localhost:8080/servicemodelsamples/service"));
            ICalculatorChannel client2 = factory2.CreateChannel();

            // Call the Add service operation.
            double value1 = 100.00D;
            double value2 = 15.99D;
            double result = client1.Add(value1, value2);
            Console.WriteLine("(HTTP)Add({0},{1}) = {2}", value1, value2, result);
            result = client2.Add(value1, value2);
            Console.WriteLine("(TCP) Add({0},{1}) = {2}", value1, value2, result);

            // Call the Subtract service operation.
            value1 = 145.00D;
            value2 = 76.54D;
            result = client1.Subtract(value1, value2);
            Console.WriteLine("(HTTP)Subtract({0},{1}) = {2}", value1, value2, result);
            result = client2.Subtract(value1, value2);
            Console.WriteLine("(TCP) Subtract({0},{1}) = {2}", value1, value2, result);

            // Call the Multiply service operation.
            value1 = 9.00D;
            value2 = 81.25D;
            result = client1.Multiply(value1, value2);
            Console.WriteLine("(HTTP)Multiply({0},{1}) = {2}", value1, value2, result);
            result = client2.Multiply(value1, value2);
            Console.WriteLine("(TCP) Multiply({0},{1}) = {2}", value1, value2, result);

            // Call the Divide service operation.
            value1 = 22.00D;
            value2 = 7.00D;
            result = client1.Divide(value1, value2);
            Console.WriteLine("(HTTP)Divide({0},{1}) = {2}", value1, value2, result);
            result = client2.Divide(value1, value2);
            Console.WriteLine("(TCP) Divide({0},{1}) = {2}", value1, value2, result);

            // Closing the connection gracefully and cleaning up resources
            client1.Close();
            client2.Close();

            Console.WriteLine("Press <ENTER> to exit.");
            Console.ReadLine();
        }
Esempio n. 10
0
        private AdvertisingService.IAdvertisingService CreateChannel()
        {
            string absolutePath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath, "AL.Events.DAL.dll.config");

            var configuration = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap {
                ExeConfigFilename = absolutePath
            }, ConfigurationUserLevel.None);

            var channelFactory = new ConfigurationChannelFactory <AdvertisingService.IAdvertisingService>("BasicHttpBinding_IAdvertisingService", configuration, null);

            var channel = channelFactory.CreateChannel();

            return(channel);
        }
Esempio n. 11
0
        private ChannelFactory <T> CreateChannelFactory <T>(string endpointConfigName)
        {
            // open the client.config
            //FIXME: if Barista ever targets SP >2013 this will need to be updated to the 16,17,18, or whatever hive it is.
            var clientConfigPath = SPUtility.GetVersionedGenericSetupPath(@"WebClients\Barista", SPUtility.CompatibilityLevel15); //SPUtility.ContextCompatibilityLevel
            var clientConfig     = OpenClientConfiguration(clientConfigPath);

            var factory = new ConfigurationChannelFactory <T>(endpointConfigName, clientConfig, null);

            // configure the channel factory
            factory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);

            return(factory);
        }
Esempio n. 12
0
        private ServiceReferenceWCF.INewWebService CreateChannel()
        {
            string absolutePath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath, "SA.OnlineStore.DataAccess.dll.config");

            Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(
                new ExeConfigurationFileMap {
                ExeConfigFilename = absolutePath
            }, ConfigurationUserLevel.None);

            ConfigurationChannelFactory <ServiceReferenceWCF.INewWebService> channelFactory =
                new ConfigurationChannelFactory <ServiceReferenceWCF.INewWebService>("BasicHttpBinding_INewWebService", configuration, null);

            return(channelFactory.CreateChannel());
        }
Esempio n. 13
0
        private ChannelFactory <T> CreateChannelFactory <T>(string endpointConfigName)
        {
            // Open the client.config.
#if SP2010
            string clientConfigPath = SPUtility.GetGenericSetupPath(@"WebClients\GlymaNodeServiceApp");
#endif
#if SP2013
            string clientConfigPath = SPUtility.GetVersionedGenericSetupPath(@"WebClients\GlymaNodeServiceApp", SPUtility.ContextCompatibilityLevel);
#endif
            Configuration clientConfig = OpenClientConfiguration(clientConfigPath);
            ConfigurationChannelFactory <T> factory = new ConfigurationChannelFactory <T>(endpointConfigName, clientConfig, null);

            // Configure the channel factory.
            factory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);

            return(factory);
        }
        protected virtual ChannelFactory <T> GetChannelFactory <T>([NotNull] string configurationFile, [NotNull] string endpointConfigurationName)
        {
            Tuple <Type, string, string> key = new Tuple <Type, string, string>(typeof(T), configurationFile, endpointConfigurationName);
            IChannelFactory result;

            lock (ChannelFactoryCache)
            {
                if (!ChannelFactoryCache.TryGetValue(key, out result))
                {
                    System.Configuration.Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap {
                        ExeConfigFilename = FileUtil.MapPath(configurationFile)
                    }, ConfigurationUserLevel.None);
                    result = new ConfigurationChannelFactory <T>(endpointConfigurationName, configuration, null);

                    ChannelFactoryCache.Add(key, result);
                }
            }

            return((ChannelFactory <T>)result);
        }
Esempio n. 15
0
        public TOut GetData <TOut>(string endpointConfigurationName, Configuration configuration, EndpointAddress remoteAddress, Func <T, TOut> getData)
        {
            TOut data = default(TOut);

            using (var channelFactory = new ConfigurationChannelFactory <T>(endpointConfigurationName, configuration, remoteAddress))
            {
                try
                {
                    var channel = channelFactory.CreateChannel();
                    data = getData(channel);
                    channelFactory.Close();
                }
                catch (ConfigurationErrorsException ex)
                {
                    _logger.WarnFormat($"{ ex.Message }");
                }
                catch (TimeoutException ex)
                {
                    _logger.WarnFormat($"Cannot connect to { nameof(T) }.\n { ex.Message }");
                }
                catch (FaultException <Service::CommercialNotFound> ex)
                {
                    _logger.WarnFormat($"{ ex.Message }");
                }
                catch (FaultException ex)
                {
                    _logger.WarnFormat($"Cannot connect to { nameof(T) }.\n { ex.Message }");
                }
                catch (CommunicationException ex)
                {
                    _logger.WarnFormat($"Cannot connect to { nameof(T) }.\n { ex.Message }");
                }
                catch (Exception ex)
                {
                    _logger.WarnFormat($"Cannot connect to { nameof(T) }.\n { ex.Message }");
                }
            }

            return(data);
        }
Esempio n. 16
0
        [ExcludeFromCodeCoverage] // requires wire communication
        private ChannelFactory <TContract> GetChannelFactory <TContract>(string endpointConfigurationName)
        {
            object factoryObject;

            if (FactoryCache.TryGetValue(typeof(TContract), out factoryObject) == false)
            {
                lock (_lockerObject)
                {
                    if (FactoryCache.TryGetValue(typeof(TContract), out factoryObject) == false)
                    {
                        var factory = new ConfigurationChannelFactory <TContract>(endpointConfigurationName, _wcfConfiguration, null);

                        factory.Credentials.UserName.UserName = _userName;
                        factory.Credentials.UserName.Password = _password;

                        FactoryCache.TryAdd(typeof(TContract), factory);
                        factoryObject = factory;
                    }
                }
            }
            return((ChannelFactory <TContract>)factoryObject);
        }
Esempio n. 17
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="credential">The credential to login with.</param>
        /// <param name="configuration">Used to configure connections.</param>
        public SalesForceSession(SalesForceCredential credential, Configuration configuration)
        {
            if (credential == null)
            {
                throw new ArgumentNullException("credential");
            }
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            _credential    = credential;
            _configuration = configuration;
            _session       = null;
            _lastUsed      = DateTime.Now;

            _partnerClientFactory  = null;
            _metadataClientFactory = null;
            _apexClientFactory     = null;
            _toolingClientFactory  = null;

            User = null;
        }
Esempio n. 18
0
        private ChannelFactory <TChannel> GetChannelFactory <TChannel>(string endPointConfigurationName, string endPointName)
        {
            ChannelFactory <TChannel> currentFactory = null;

            if (factoryDictionary.ContainsKey(endPointName))
            {
                currentFactory = factoryDictionary[endPointName] as ChannelFactory <TChannel>;
            }

            if (currentFactory == null)
            {
                lock (channelFactoryLock)
                {
                    // Make sure that a channel factory wasn't created during the time it took us to get a lock
                    if (factoryDictionary.ContainsKey(endPointName))
                    {
                        currentFactory = factoryDictionary[endPointName] as ChannelFactory <TChannel>;
                    }

                    if (currentFactory == null)
                    {
                        // Create a channel factory to be cached
                        currentFactory = new ConfigurationChannelFactory <TChannel>(
                            endPointConfigurationName,
                            this.Proxy.Configuration,
                            null);

                        // Configure the channel factory for claims-based authentication
                        ((ChannelFactory <TChannel>)currentFactory).ConfigureCredentials(SPServiceAuthenticationMode.Claims);
                        factoryDictionary[endPointName] = currentFactory;
                    }
                }
            }

            return(currentFactory);
        }
        private void RunLoggedInTest(string configFileName)
        {
            IUnityContainer container = new UnityContainer();

            RegisterTypes(container);
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));

            using (var serviceHost = new TestingServiceHost(typeof(DoSomethingService), configFileName))
            {
                serviceHost.Open();
                var filemap = new System.Configuration.ExeConfigurationFileMap();
                filemap.ExeConfigFilename = configFileName;

                System.Configuration.Configuration config =
                    System.Configuration.ConfigurationManager.OpenMappedExeConfiguration
                    (filemap,
                     System.Configuration.ConfigurationUserLevel.None);

                using (ConfigurationChannelFactory<IDoSomethingService> channelFactory =
                    new ConfigurationChannelFactory<IDoSomethingService>("ClientEP", config, null))
                {
                    IDoSomethingService channel = channelFactory.CreateChannel();
                    DoSomething(channel);
                }
            }
        }
Esempio n. 20
0
        public void Use(string endpointConfigurationName, string endpointAddress, Action <T> action)
        {
            var factory = new ConfigurationChannelFactory <T>(endpointConfigurationName, _configuration, new EndpointAddress(endpointAddress));

            CallServiceAction(action, factory);
        }
Esempio n. 21
0
        public void Use(string endpointConfigurationName, Action <T> action)
        {
            var configChannelFactory = new ConfigurationChannelFactory <T>(endpointConfigurationName, _configuration, null);

            CallServiceAction(action, configChannelFactory);
        }