Freigeben über


Ereignisszenarien

Das Ereignisszenario testet Ereignisse wie unter Geräteprofil für Webdienste (DPWS) eingeschränkt.

Das Ziel dieses Szenarios ist keine Ermittlung der Endpunkte des gehosteten Diensts. In diesem Szenario wird davon ausgegangen, dass diese Endpunkte vor dem Starten dieses Szenarios erkannt oder bereitgestellt wurden.

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

Weitere Informationen finden Sie im ersten Testgeräteeinrichtungsdiagramm in der WSDBIT-Testumgebung.

Fall Clientaktion Serveraktion Erfolgreich/Fehler-Kriterien
4,1 Abonnement und Verlängerung von Ereignissen.
4.1.1 Abonniert SimpleEvent mit:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
Der Client kann eine Ablaufdauer vom Typ xs:duration enthalten.
Sendet SubscribeResponse mit einer Ablaufzeit, die lang genug ist, um Schritt 4.1.2 abzuschließen. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test ist es nicht erforderlich, dass der Server den gleichen Wert für xs:duration verwendet, wie vom Client angefordert.
Der Client empfängt die Antwort und kann zu Schritt 4.1.2 wechseln.
4.1.2 Nichts Löst das SimpleEvent aus. Das Ereignis wird am Client empfangen.
4.1.3 Sendet "Renew to SimpleEvent".
Wenn Kunden 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 so lang ist, dass Schritt 4.1.4 abgeschlossen werden kann. Der Ablauf muss vom Typ xs:duration sein. Die Antwort wird beim Client empfangen und kann zu Schritt 4.1.4 wechseln.
4.1.4 Nichts Löst das SimpleEvent aus. Das Ereignis wird am Client empfangen.
4.1.5 Sendet eine Unsubscribe-Anforderung für „SimpleEvent“ an „TestDevice“. Sendet „UnsubscribeResponse“. Der Client empfängt die Antwort und kann zu Schritt 4.1.6 wechseln.
4.1.6 Nichts Löst das SimpleEvent aus. Am Client wird kein Ereignis empfangen.
4.2 Abonnements mit Ablauf
4.2.1 Abonniert „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, damit Schritt 4.2.2 abgeschlossen werden kann. Der Ablauf muss xs:duration sein.
wsdbit_client verwendet 60 Minuten als Dauer.
Sendet SubscribeResponse mit:
- Das Ablaufdatum, das in der Abonnementanforderung gesendet wurde, wird im SubscribeResponse zurückgegeben.
Der Client erhält die Antwort mit dem korrekten Ablaufdatem und kann zu Schritt 4.2.2 wechseln.
4.2.2 Nichts Löst das SimpleEvent aus. Das Ereignis wird am Client empfangen.
4.2.3 Sendet eine Verlängerung mit Ablaufdatum für das SimpleEvent-Abonnement von TestDevice. Die Ablaufdauer muss lang genug sein, um Schritt 4.2.4 abzuschließen. Die Gültigkeitsdauer muss xs:duration sein.
Wenn Kunden Verlängerungen für Ereignisse senden, können sie die Verlängerung manuell einleiten oder die Verlängerung automatisch senden, wenn die Hälfte des Verlängerungszeitraums, der in der ursprünglichen SubscribeResponse-Nachricht angegeben ist, abgelaufen ist.
Sendet eine RenewResponse mit:
- Das Ablaufdatum, das in der Verlängerungsanforderung gesendet wurde, wird in der RenewResponse zurückgegeben.
Der Client empfängt die Antwort mit dem richtigen Ablaufdatum und kann zu Schritt 4.2.4 wechseln.
4.2.4 Nichts Löst das SimpleEvent aus. Das Ereignis wird am Client empfangen.
4.3 Abonnements, Verlängerungen und Ablauf für mehrere Ereignisquellen
4.3.1 Abonniert SimpleEvent mit
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/SimpleEvent
Der Client kann eine Ablaufzeit des Typs xs:duration einschließen.
Sendet „SubscribeResponse“ mit einem Ablauf, der so lang ist, dass Schritt 4.3.3 abgeschlossen werden kann. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test ist es nicht erforderlich, dass der Server den gleichen Wert für xs:duration verwendet, wie vom Client angefordert.
Der Client empfängt die Antwort und kann zu Schritt 4.3.3 wechseln.
4.3.2 Abonniert „SimpleEvent“ mit:
- wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>"
- wse:Filter == http://schemas.example.org/EventingService/IntegerEvent
Der Client kann einen Ablauf des Typs xs:duration einschließen.
Sende SubscribeResponse mit einer genügend langen Ablaufzeit, um Schritt 4.3.4 abzuschließen. Der Ablauf muss vom Typ xs:duration sein.
Für diesen Test ist es nicht erforderlich, dass der Server den gleichen Wert für xs:duration verwendet, wie vom Client angefordert.
Der Client empfängt die Antwort und kann zu Schritt 4.3.4 wechseln.
4.3.3 Nichts Löst das SimpleEvent aus. Das Ereignis wird am Client empfangen.
4.3.4 Nichts Löst das IntegerEvent-Ereignis aus. Das Ereignis wird beim Client empfangen und die richtige ganze Zahl wird angezeigt.
4.3.5 Sendet "Renew to IntegerEvent".
Wenn Kunden 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 einer ausreichenden Gültigkeitsdauer, um Schritt 4.3.8 abzuschließen. Der Ablauf muss vom Typ xs:duration sein. Die Antwort wird beim Client empfangen.
4.3.6 Sendet eine Unsubscribe-Anforderung für „SimpleEvent“ an „TestDevice“. Sendet „UnsubscribeResponse“. Der Client empfängt Antwort und kann zu Schritt 4.3.7 wechseln.
4.3.7 Nichts Löst das SimpleEvent aus. Am Client wird kein Ereignis empfangen.
4.3.8 Nichts Löst das IntegerEvent-Ereignis aus. Das Ereignis wird beim Client empfangen und die richtige ganze Zahl wird angezeigt.
4.3.9 Sendet eine Unsubscribe-Anforderung für „IntegerEvent“ an „TestDevice“. Sendet eine Abmeldebestätigung. Der Client empfängt die Antwort und kann zu Schritt 4.3.10 wechseln.
4.3.10 Nichts Löst das IntegerEvent-Ereignis aus. Am Client wird kein Ereignis empfangen.
4.4 Abonnementsfehler und Fehler
4.4.1 Abonniert „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 am Client beobachtet.