/// <summary> /// Initializes (and returns) event service address (using GetCapabilities method). /// </summary> /// <returns></returns> protected string GetEventServiceAddress() { string address = string.Empty; RunStep(() => { HttpTransport.HttpBinding binding = (HttpTransport.HttpBinding)CreateBinding(true, new IChannelController[] { new SoapValidator(DeviceManagementSchemasSet.GetInstance()) }); DeviceClient device = new DeviceClient(binding, new EndpointAddress(_cameraAddress)); AddSecurityBehaviour(device.Endpoint); Capabilities capabilities = device.GetCapabilities(new CapabilityCategory[] { CapabilityCategory.Events }); DoRequestDelay(); if (capabilities.Events != null) { address = capabilities.Events.XAddr; } if (string.IsNullOrEmpty(address)) { throw new DutPropertiesException("Event capabilities not found"); } Uri uri; if (!Uri.TryCreate(address, UriKind.Absolute, out uri)) { throw new AssertException(string.Format("Event service address [{0}] is invalid", address)); } }, "Get Event service address"); _eventServiceAddress = address; return(address); }
protected override DeviceClient CreateClient() { HttpTransport.HttpBinding binding = (HttpTransport.HttpBinding)CreateBinding(true); DeviceClient client = new DeviceClient(binding, new EndpointAddress(_cameraAddress)); return(client); }
protected override DeviceIOPortClient CreateClient() { HttpTransport.HttpBinding binding = (HttpTransport.HttpBinding)CreateBinding(false, new IChannelController[] { new SoapValidator(DeviceIoSchemaSet.GetInstance()) }); DeviceIOPortClient client = new DeviceIOPortClient(binding, new EndpointAddress(GetIoServiceAdderss())); return(client); }
void CreateClient() { Binding binding = new HttpTransport.HttpBinding(new IChannelController[] { this }); _client = CreateClient(binding, new EndpointAddress(_serviceAddress)); System.Net.ServicePointManager.Expect100Continue = false; Data.DeviceEnvironment info = Controllers.ContextController.GetDeviceEnvironment(); SecurityBehavior securityBehavior = new SecurityBehavior(); securityBehavior.UserName = info.Credentials.UserName; securityBehavior.Password = info.Credentials.Password; securityBehavior.UseUTCTimestamp = info.Credentials.UseUTCTimeStamp; _client.Endpoint.Behaviors.Add(securityBehavior); _client.InnerChannel.OperationTimeout = new TimeSpan(0, 0, 0, 0, _messageTimeout); }