Ejemplo n.º 1
0
        /// <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);
        }