/// <summary> /// Initializes (and returns) event service address (using GetCapabilities method). /// </summary> /// <returns></returns> protected string GetEventServiceAddress() { string address = string.Empty; RunStep(() => { Binding binding = CreateBinding(true, new IChannelController[] { new SoapValidator(DeviceManagementSchemasSet.GetInstance()) }); DeviceClient device = new DeviceClient(binding, new EndpointAddress(_cameraAddress)); AddSecurityBehaviour(device.Endpoint); address = device.GetEventServiceAddress(Features); device.Close(); 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"); DoRequestDelay(); _eventServiceAddress = address; return(address); }