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); }
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); }
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); }
/// <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); }
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(); }
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); }
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(); }
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); }
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); }
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()); }
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); }
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); }
[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); }
/// <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; }
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); } } }
public void Use(string endpointConfigurationName, string endpointAddress, Action <T> action) { var factory = new ConfigurationChannelFactory <T>(endpointConfigurationName, _configuration, new EndpointAddress(endpointAddress)); CallServiceAction(action, factory); }
public void Use(string endpointConfigurationName, Action <T> action) { var configChannelFactory = new ConfigurationChannelFactory <T>(endpointConfigurationName, _configuration, null); CallServiceAction(action, configChannelFactory); }