Поделиться через


Сценарии событий

Сценарий событий проверяет событийную модель, ограниченную в профиле устройств для веб-служб (DPWS).

Цель этого сценария — не обнаружение конечных точек размещенной службы. В этом сценарии предполагается, что эти конечные точки были обнаружены или предоставлены перед началом этого сценария.

В целях этих сценариев форматы адресов NotifyTo и EndTo должны быть физическими адресами, а не виртуальными адресами типа uuid: f014e8aa-fc6a-49f5-b862-1e53663a85ff.

Дополнительные сведения см. в схеме начальной настройки устройства в среде тестирования WSDBIT.

Случай Действие клиента Действие сервера критерии Pass-Fail
4.1 Подписка и продление событий.
4.1.1 Подписывается на SimpleEvent, с помощью:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
. Клиент может указать срок действия типа xs:duration.
Отправляет SubscribeResponse на достаточно продолжительный срок, чтобы завершить шаг 4.1.2. Срок действия должен быть типа xs:duration.
Для этого теста сервер не обязан использовать тот же xs:duration, как запросил клиент.
Клиент получает ответ и может перейти к шагу 4.1.2.
4.1.2 Ничто Запускает SimpleEvent. Событие получено у клиента.
4.1.3 Отправляет обновление в SimpleEvent.
Когда клиенты отправляют обновления для событий, они могут вручную инициировать продление или автоматически отправлять продление, когда половина периода продления, указанного в исходном сообщении SubscribeResponse, истекла.
Отправляет обновление ответа с сроком действия достаточной продолжительности, чтобы завершить шаг 4.1.4. Срок действия должен иметь тип xs:duration. Ответ получен на стороне клиента и может перейти к шагу 4.1.4.
4.1.4 Ничто Запускает SimpleEvent. Событие получено на клиенте.
4.1.5 Отправляет отмену подписки на TestDevice для SimpleEvent. Отправляет ответ на отказ от подписки. Клиент получает ответ и может перейти к шагу 4.1.6.
4.1.6 Ничто Запускает SimpleEvent. Клиент не получает событие.
4.2 подписки с истекающим сроком действия
4.2.1 Подписывается на SimpleEvent с истечением срока действия:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
— срок действия должен быть достаточно длинным, чтобы завершить шаг 4.2.2. Срок действия должен иметь значение xs:duration.
wsdbit_client использует 60 минут в качестве длительности.
Отправляет SubscribeResponse с помощью:
— срок действия, отправленный в запросе на подписку, возвращается в SubscribeResponse.
Клиент получает ответ с правильным сроком действия и может перейти к шагу 4.2.2.
4.2.2 Ничто Запускает SimpleEvent. Событие получено у клиента.
4.2.3 Отправляет продление с датой истечения срока действия на TestDevice для подписки SimpleEvent. Срок действия должен быть достаточно длинным, чтобы завершить шаг 4.2.4. Срок действия должен иметь значение xs:duration.
Когда клиенты отправляют обновления для событий, они могут вручную инициировать продление или автоматически отправлять продление, когда половина периода продления, указанного в исходном сообщении SubscribeResponse, истекла.
Отправляет RenewResponse с:
— срок действия, отправленный в запросе на продление, возвращается в RenewResponse.
Клиент получает ответ с правильным сроком действия и может перейти к шагу 4.2.4.
4.2.4 Ничто Запускает SimpleEvent. Событие получено клиентом.
4.3 Подписки, продления и истечения сроков действия для нескольких источников событий
4.3.1 Подписывается на SimpleEvent с
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
. Клиент может выбрать включение срока действия типа "xs:duration".
Отправляет SubscribeResponse со сроком действия, достаточным для завершения шага 4.3.3. Срок действия должен иметь тип xs:duration.
Для этого теста от сервера не требуется использовать тот же xs:duration, как запросил клиент.
Клиент получает ответ и может перейти к шагу 4.3.3.
4.3.2 Подписывается на SimpleEvent с помощью:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/IntegerEvent
клиент может включить срок действия типа xs:duration.
Отправляет SubscribeResponse со сроком действия, который достаточно велик, чтобы завершить шаг 4.3.4. Срок действия должен иметь тип xs:duration.
Для этого теста сервер не обязан использовать тот же xs:duration, как запросил клиент.
Клиент получает ответ и может перейти к шагу 4.3.4.
4.3.3 Ничто Запускает SimpleEvent. Событие получено клиентом.
4.3.4 Ничто Вызывает событие IntegerEvent. Событие получено клиентом и отображается правильное целое число.
4.3.5 Отправляет обновление в IntegerEvent.
Когда клиенты отправляют обновления для событий, они могут вручную инициировать продление или автоматически отправлять продление, когда половина периода продления, указанного в исходном сообщении SubscribeResponse, истекла.
Отправляет RenewResponse со сроком действия, достаточным для завершения шага 4.3.8. Срок действия должен иметь тип xs:duration. Ответ получен на стороне клиента.
4.3.6 Отправляет отмену подписки на TestDevice для SimpleEvent. Отправляет ответ на отмену подписки. Клиент получает ответ и может перейти к шагу 4.3.7.
4.3.7 Ничто Запускает SimpleEvent. У клиента не получено ни одно событие.
4.3.8 Ничто Запускает целочисленное событие. Событие получено на клиенте, и корректное целое число отображается.
4.3.9 Отправляет отписку к TestDevice для события типа IntegerEvent. Отправляет ответ на отмену подписки. Клиент получает ответ и может перейти к шагу 4.3.10.
4.3.10 Ничто Инициирует событие типа Integer. На клиенте не получено ни одного события.
4.4 сбои и неисправности подписок
4.4.1 Подписывается на FaultingEvent с помощью:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/FaultingEvent
Поскольку это событие не поддерживается, необходимо отправить SOAP ошибку wsdp:FilterActionNotSupported. Ошибка подписки наблюдается у клиента.