WS-Discovery Spezifikationskonformität

WS-Discovery beschreibt, wie die folgenden Aufgaben ausgeführt werden:

  • Ankündigen der Verfügbarkeit von Diensten im lokalen Subnetz
  • Suchen nach Diensten im Subnetz
  • Suchen eines zuvor referenzierten Diensts

Um dies zu erreichen, definiert WS-Discovery zwei unidirektionale Nachrichten, Hello und Bye, und zwei bidirektionale Suchnachrichten, Probe und Resolve.

WS-Discovery stellt außerdem Adressen und einen reservierten Port für die lokale IPv4- und IPv6-Linkermittlung bereit. Die Spezifikation ermöglicht es auch, alternative Bindungen an anderer Stelle zu definieren, z. B. die im Geräteprofil für Webdienste (DPWS) definierte Test over HTTP-Bindung.

Die WS-Discovery Spezifikation beschreibt die wahlpflichtige Funktionalität, indem die Begriffe MAY oder SHOULD in einer bestimmten Implementierungsempfehlung oder -einschränkung verwendet werden. Fehlende Funktionalität kann in der WS-Discovery Spezifikation als ERFORDERLICH beschrieben werden, die nicht von WSDAPI implementiert wurde, oder es kann eine Funktionalität sein, die WSDAPI in einer anderen Methode in der in der WS-Discovery-Spezifikation angegebenen implementiert hat.

In diesem Thema wird beschrieben, wie WS-Discovery Einschränkungen, Anforderungen und Wahlfunktionen von der WSDAPI-Implementierung behandelt werden. Dieses Thema wird am besten zusammen mit der WS-Discovery-Spezifikation gelesen.

unterstützung für WS-Discovery und SOAP-over-UDP

In SOAP-over-UDP gibt Abschnitt 3.2 an, dass die UDP-Nachricht in ein 64K-Datagramm passen muss. WSDAPI akzeptiert 64K-UDP-Nachrichten, aber die DPWS-Einschränkung von MAX_ENVELOPE_SIZE (32K) schränkt die Nachrichtengröße ein. Wie für WS-Discovery erforderlich, unterstützt WSDAPI die in Abschnitt 4 beschriebenen Nachrichtenmuster.

WSDAPI kann für die Unterstützung des Sicherheitsmodells in den Abschnitten 7 und 8 konfiguriert werden. Wenn dies konfiguriert ist, wird WSDAPI ausgehende WS-Discovery Nachrichten abmelden und Signaturen für eingehende Nachrichten überprüfen.

WSDAPI implementiert den in Anhang I definierten Neuübertragungsalgorithmus, wie durch DPWS Anhang I geändert.

In WS-Discovery verwendet WSDAPI die in Abschnitt 2.4 angegebenen Adressen. WSDAPI erweitert APP_MAX_DELAY aus Abschnitt 2.4, jedoch nicht in dem Umfang, wie in DPWS Anhang I definiert. Weitere Informationen zu APP_MAX_DELAY finden Sie unter Zusätzliche WS-Discovery Funktionen.

WS-Discovery beschreibt die Empfehlung für das uuid: URI-Format in Abschnitt 2.6, aber WSDAPI überschreibt diese Empfehlung. Stattdessen verwendet WSDAPI das urn:uuid: in DPWS beschriebene URI-Format.

Abschnitt 3 von WS-Discovery beschreibt, wie ein Client mit einem Ermittlungsproxy interagiert. WSDAPI erkennt diese Interaktion nicht und ignoriert Ankündigungen von Ermittlungsproxys. In Windows 7 implementiert WSDAPI eine private Erweiterung für das WS-Discovery-Protokoll, WS-Discovery Remoteerweiterungen, damit Ermittlungsclients nach Diensten suchen können, die über viele verschiedene Netzwerke verteilt sind, indem Anforderungen an zentralisierte Proxys gesendet werden. Weitere Informationen finden Sie unter Zusätzliche WS-Discovery Funktionalität.

Abschnitt 4.1, Absatz 3 der WS-Discovery erfordert, dass ein Timer verstreichen muss, bevor eine Hello-Nachricht gesendet wird. Die Hosting-API wartet nicht vor dem Senden einer Hello-Nachricht. Wenn ein Szenario eine Verzögerung erfordert, bevor eine Hello-Nachricht gesendet wird, muss der Anwendungsentwickler eine Wartezeit implementieren.

WSDAPI implementiert alle in WS-Discovery Abschnitten 4, 5 und 6 beschriebenen Meldungen. WSDAPI erzwingt auch die MATCH_TIMEOUT, die in Abschnitt 7 in der durch DPWS Anhang I geänderten Fassung beschrieben sind. WSDAPI schützt nur vor "Replay" vor den sicheren Überlegungen in Abschnitt 9.

WSDAPI implementiert die Anwendungssequenzierung, wie in WS-Discovery Anhang I beschrieben.