Freigeben über


Ereignisszenarien

Das Ereignisszenario testet die Ereigniserstellung, wie im Geräteprofil für Webdienste (DPWS) eingeschränkt.

Das Ziel dieses Szenarios ist nicht die Ermittlung der Endpunkte des gehosteten Diensts. In diesem Szenario wird davon ausgegangen, dass diese Endpunkte ermittelt oder bereitgestellt wurden, bevor dieses Szenario gestartet wurde.

Für diese Szenarien sollten die Adressformate NotifyTo und EndTo physische Adressen und keine virtuellen Adressen vom Typ uuid sein: f014e8aa-fc6a-49f5-b862-1e53663a85ff.

Weitere Informationen finden Sie im Ersten Testgerätesetupdiagramm in der WSDBIT-Testumgebung.

Fall Clientaktion Serveraktion Pass-Fail Kriterien
4,1 Abonnement und Verlängerung von Ereignissen.
4.1.1 Abonniert SimpleEvent mit:
- -
wse:Filter == http://schemas.example.org/EventingService/SimpleEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
Der Client kann einen Ablauf vom Typ xs:duration enthalten.
Sendet SubscribeResponse mit einem Ablauf, der lang genug ist, um Schritt 4.1.2 abzuschließen. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test muss der Server nicht die gleiche xs:duration verwenden, die vom Client angefordert wurde.
Der Client empfängt die Antwort und kann mit Schritt 4.1.2 fortfahren.
4.1.2 Nichts Löst simpleEvent aus. Das Ereignis wird auf dem Client empfangen.
4.1.3 Sendet Renew an SimpleEvent.
Wenn Clients Verlängerungen für Ereignisse senden, können sie die Verlängerung manuell initiieren oder die Verlängerung automatisch senden, wenn die Hälfte des in der ursprünglichen SubscribeResponse-Nachricht angegebenen Verlängerungszeitraums abgelaufen ist.
Sendet RenewResponse mit einem Ablauf, der lang genug ist, um Schritt 4.1.4 abzuschließen. Der Ablauf muss vom Typ xs:duration sein. Die Antwort wird auf dem Client empfangen und kann mit Schritt 4.1.4 fortfahren.
4.1.4 Nichts Löst simpleEvent aus. Das Ereignis wird auf dem Client empfangen.
4.1.5 Sendet eine Abmeldung an das TestDevice für simpleEvent. Sendet eine UnsubscribeResponse. Der Client empfängt die Antwort und kann mit Schritt 4.1.6 fortfahren.
4.1.6 Nichts Löst simpleEvent aus. Auf dem Client wird kein Ereignis empfangen.
4.2 Abonnements mit Ablauf
4.2.1 Abonnieren Sie SimpleEvent mit einem Ablauf mit:
-
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
wse:Filter == http://schemas.example.org/EventingService/SimpleEvent - Die Ablaufdauer muss lang genug sein, um Schritt 4.2.2 abzuschließen. Der Ablauf muss von xs:duration sein.
wsdbit_client verwendet 60 Minuten als Dauer.
Sendet SubscribeResponse mit:
- Der Ablauf, der in der Abonnementanforderung gesendet wurde, wird im SubscribeResponse zurückgegeben.
Der Client empfängt die Antwort mit dem richtigen Ablauf und kann mit Schritt 4.2.2 fortfahren.
4.2.2 Nichts Löst simpleEvent aus. Das Ereignis wird auf dem Client empfangen.
4.2.3 Sendet eine Renew mit Ablauf an TestDevice für das SimpleEvent-Abonnement. Die Ablaufdauer muss lang genug sein, um Schritt 4.2.4 abzuschließen. Der Ablauf muss von xs:duration sein.
Wenn Clients Verlängerungen für Ereignisse senden, können sie die Verlängerung manuell initiieren oder die Verlängerung automatisch senden, wenn die Hälfte des in der ursprünglichen SubscribeResponse-Nachricht angegebenen Verlängerungszeitraums abgelaufen ist.
Sendet eine RenewResponse mit:
- Der Ablauf, der in der Renew-Anforderung gesendet wurde, wird im RenewResponse zurückgegeben.
Der Client empfängt eine Antwort mit dem richtigen Ablauf und kann mit Schritt 4.2.4 fortfahren.
4.2.4 Nichts Löst simpleEvent aus. Das Ereignis wird auf dem Client empfangen.
4.3 Abonnements, Verlängerungen und Ablaufvorgänge für mehrere Ereignisquellen
4.3.1 Abonnieren von SimpleEvent mit
- -
wse:Filter == http://schemas.example.org/EventingService/SimpleEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
Der Client kann einen Ablauf vom Typ xs:duration einschließen.
Sendet SubscribeResponse mit einem Ablauf, der lang genug ist, um Schritt 4.3.3 abzuschließen. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test muss der Server nicht die gleiche xs:duration verwenden, die vom Client angefordert wurde.
Der Client empfängt die Antwort und kann mit Schritt 4.3.3 fortfahren.
4.3.2 Abonniert SimpleEvent mit:
- -
wse:Filter == http://schemas.example.org/EventingService/IntegerEventwse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
Der Client kann einen Ablauf des Typs xs:duration einschließen.
Sendet SubscribeResponse mit einem Ablauf, der lang genug ist, um Schritt 4.3.4 abzuschließen. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test muss der Server nicht die gleiche xs:duration verwenden, die vom Client angefordert wurde.
Der Client empfängt die Antwort und kann mit Schritt 4.3.4 fortfahren.
4.3.3 Nichts Löst simpleEvent aus. Das Ereignis wird auf dem Client empfangen.
4.3.4 Nichts Löst integerEvent aus. Das Ereignis wird auf dem Client empfangen, und die richtige ganze Zahl wird angezeigt.
4.3.5 Sendet Renew an IntegerEvent.
Wenn Clients Verlängerungen für Ereignisse senden, können sie die Verlängerung manuell initiieren oder die Verlängerung automatisch senden, wenn die Hälfte des in der ursprünglichen SubscribeResponse-Nachricht angegebenen Verlängerungszeitraums abgelaufen ist.
Sendet RenewResponse mit einem Ablauf, der lang genug ist, um Schritt 4.3.8 abzuschließen. Der Ablauf muss vom Typ xs:duration sein. Die Antwort wird auf dem Client empfangen.
4.3.6 Sendet eine Abmeldung an das TestDevice für simpleEvent. Sendet eine UnsubscribeResponse. Der Client empfängt die Antwort und kann mit Schritt 4.3.7 fortfahren.
4.3.7 Nichts Löst simpleEvent aus. Auf dem Client wird kein Ereignis empfangen.
4.3.8 Nichts Löst integerEvent aus. Das Ereignis wird auf dem Client empfangen, und die richtige ganze Zahl wird angezeigt.
4.3.9 Sendet ein Unsubscribe an das TestDevice für integerEvent. Sendet eine UnsubscribeResponse. Der Client empfängt die Antwort und kann mit Schritt 4.3.10 fortfahren.
4.3.10 Nichts Löst integerEvent aus. Auf dem Client wird kein Ereignis empfangen.
4.4 Abonnementsfehler und -fehler
4.4.1 Abonnieren von FaultingEvent mit:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/FaultingEvent
Da dieses Ereignis nicht unterstützt wird, muss ein wsdp:FilterActionNotSupported SOAP-Fehler gesendet werden. Der Fehler beim Abonnieren wird auf dem Client beobachtet.