Erste Schritte mit WSDAPI-Problembehandlung

Dieser Leitfaden zur Problembehandlung enthält eine Reihe von Diagnoseverfahren , die verwendet werden können, um die Ursache von Anwendungsproblemen zu ermitteln. Nachdem die Ursache des Problems erfolgreich identifiziert wurde, können die im Diagnoseverfahren vorgeschlagenen Lösungen angewendet werden, um das Problem zu beheben.

Es gibt zwei Möglichkeiten, das zu verwendende Diagnoseverfahren zu bestimmen. Eine Möglichkeit besteht darin, zur Problembehandlungsseite für den Clienttyp zu wechseln, um eine schrittweise Liste der Diagnoseverfahren anzuzeigen, die zur Problembehandlung für den Client verwendet werden sollen. Die andere Möglichkeit besteht darin, die nachstehende Schnellreferenz zur Problembehandlung zu öffnen, um Zusammenfassungstabellen anzuzeigen, die häufige Probleme mit WSDAPI-Anwendungen und die Verfahren zum Diagnostizieren der Probleme anzeigen.

Problembehandlung nach Clienttyp

Die folgenden Themen zeigen die relevanten Diagnoseverfahren nach Clienttyp. Diese Themen zeigen auch die Nachrichtenmuster, die dem Clienttyp zugeordnet sind.

Kurzübersicht zur Problembehandlung

Die folgenden Tabellen zeigen einige Probleme, die WSDAPI-Clients und -Hosts daran hindern können, sich im Netzwerk zu sehen und Gerätemetadaten auszutauschen. Die Tabellen enthalten auch die auszuführenden Diagnoseverfahren und die Kriterien, anhand derer bewertet werden soll, ob die Anwendung unter einem bestimmten Problem leidet.

Probleme mit der Netzwerkumgebung

Problem Diagnoseverfahren Problemerkennung
Die Firewall blockiert Netzwerkermittlungsdatenverkehr. Überprüfen von Adapter- und Firewalleinstellungen Das Aktivieren der Netzwerkermittlungs-Ausnahme in der Firewall löst das Problem.
Anwendungsspezifische Firewallausnahmen blockieren Nachrichten. Überprüfen von Adapter- und Firewalleinstellungen Das Deaktivieren der Firewall löst das Problem. WF.msc zeigt anwendungsspezifische Firewallregeln an.
Das Gerät reagiert nicht auf UDP-Anforderungen, indem es rechtzeitig (weniger als 4 Sekunden) eine ProbeMatches - oder ResolveMatches-Nachricht sendet. Überprüfen von Adapter- und Firewalleinstellungen Das Deaktivieren der Firewall löst das Problem, und ein generischer Host, der in weniger als 4 Sekunden antwortet, funktioniert erfolgreich.
Der Sicherheitskontext der Anwendung ist falsch (d. a. der Client und der Host verfügen nicht über ausreichende Berechtigungen für das Netzwerk). Verwenden eines generischen Hosts und Clients für UDP WS-Discovery oder Verwenden eines generischen Hosts und Clients für HTTP-Metadatenaustausch Die Geräteadresse wird in der Ausgabe des WSD-Debugclients nicht angezeigt. Das Ausführen der Anwendung als Administrator löst das Problem.
Eine IPSec-Richtlinie blockiert Nachrichten. Verwenden eines generischen Hosts und Clients für UDP WS-Discovery oder Verwenden eines generischen Hosts und Clients für HTTP-Metadatenaustausch Die Geräteadresse wird in der Ausgabe des WSD-Debugclients nicht angezeigt. Das Problem wird nicht gelöst, indem die Firewall deaktiviert wird. Das Problem kann nicht auf einem Computer reproduziert werden, der keiner IPSec-Richtlinie unterliegt.

Probleme beim Ermitteln des Datenverkehrs

Problem Diagnoseverfahren Problemidentifikation
Hello-, Test- oder Resolve-Nachrichten werden nicht im Netzwerk übertragen, da die Anwendung die Multicastnetzwerkschnittstellen nicht ordnungsgemäß aufzählt. Verwenden des WSD-Debugclients zum Überprüfen von Multicastdatenverkehr Die Meldungen Hello, Test oder Resolve werden in der Ausgabe des WSD-Debugclients nicht angezeigt. Die Pakete werden nicht im Netzwerk angezeigt. Pakete werden nicht für die Loopbackschnittstelle oder für andere Schnittstellen generiert.
Testmeldungen werden von UDP-Multicast nicht an Port 3702 gesendet (für Anwendungen, die keine gerichtete Ermittlung verwenden). Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Discovery Die Überprüfung der Nachricht zeigt, dass sie an den falschen Port gesendet wurde.
Die Testmeldung enthält kein Types-Element , oder das Types-Element ist leer. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Meldung zeigt, dass das Types-Element nicht vorhanden oder leer ist.
Das Types-Element einer Testnachricht enthält nicht die Typen, auf die ein Host antwortet. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Meldung zeigt, dass das Types-Element einen falsch formatierten oder falschen Wert enthält.
Eine ProbeMatches-Nachricht wurde nicht an den UDP-Port gesendet, von dem der Test gesendet wurde. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Ausgabe zeigt, dass keine ProbeMatches)-Nachricht gesendet wurde oder dass die Nachricht an den falschen Port gesendet wurde. Hinweis: Bei Anwendungen, die die gerichtete Ermittlung verwenden, müssen die ProbeMatches als Reaktion auf die Testnachricht über HTTP oder HTTPS gesendet werden.
Die ProbeMatches-Nachricht enthält kein RelatesTo-Element , oder das RelatesTo-Element ist leer. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Meldung zeigt, dass das RelatesTo-Element nicht vorhanden oder leer ist.
Der Wert des RelatesTo-Elements in einer ProbeMatches-Nachricht stimmt nicht mit dem Wert des MessageId-Elements aus der entsprechenden Testnachricht überein. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Meldung zeigt, dass das RelatesTo-Element einen falsch formatierten oder falschen Wert enthält.
Das in einer TestMatches-Nachricht enthalteneXAddrs-Element entspricht nicht den XAddr-Validierungsregeln. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Meldung zeigt, dass die XAddrs ungültig sind.
Auflösen von Nachrichten, die von UDP-Multicast nicht an Port 3702 gesendet werden (für Anwendungen, die keine gerichtete Ermittlung verwenden). Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Ausgabe zeigt, dass die Resolve-Nachricht an den falschen Port gesendet wurde.
Eine ResolveMatches-Nachricht wurde nicht an den UDP-Port gesendet, von dem eine Resolve-Nachricht gesendet wurde. Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Ermittlung oder Untersuchen von Netzwerkablaufverfolgungen für Anwendungen mithilfe der gerichteten Ermittlung Die Überprüfung der Ausgabe zeigt, dass keine ResolveMatches-Nachricht gesendet wurde oder dass die Nachricht an den falschen Port gesendet wurde.

Probleme mit dem Metadatenaustausch

Problem Diagnoseverfahren Problemidentifikation
Die vom Host angekündigte Transportadresse ist falsch. Verwenden eines generischen Hosts und Clients für http-Metadatenaustausch Die Überprüfung der XAddrs in der Ausgabe des WSD-Debugclients zeigt, dass die Transportadresse falsch oder falsch formatiert ist.
Für den Metadatenaustausch konnte keine TCP-Verbindung hergestellt werden. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Ausgabe der Paketanalyse zeigt nicht den folgenden Paketaustausch an:
  • Ein vom Client gesendetes TCP-SYN-Paket
  • Ein TCP-SYN/ACK-Paket, das vom Host gesendet wird
  • Ein TCP-ACK-Paket, das vom Client gesendet wird
Der Client hat keine gültige HTTP GET-Anforderung gesendet. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Es gibt keine HTTP GET-Anforderung in der Paketanalyseausgabe, oder die Anforderung ist falsch formatiert.
Der Client hat keine gültige WS-Transfer Get-Nachricht gesendet. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Es gibt keine WS-Transfer Nachricht abrufen in der Paketanalyseausgabe, oder die Nachricht ist falsch formatiert.
Der Host lauscht nicht auf dem url-Pfad, der in der HTTP GET-Anforderung angegeben ist. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Es gibt keine HTTP-Antwort in der Paketanalyseausgabe.
Die WS-Transfer Get-Nachricht enthält kein To-Element , oder das To-Element ist leer. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Überprüfung der Meldung zeigt, dass das To-Element nicht vorhanden oder leer ist.
Der Wert des To-Elements einer WS-Transfer Get-Nachricht stimmt nicht mit einer der Endpunktadressen des Hosts überein. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Überprüfung der Nachricht zeigt, dass der Wert des To-Elements nicht mit einer der Endpunktadressen übereinstimmt, die in der ProbeMatches - oder ResolveMatches-Nachricht des Hosts angekündigt sind.
Der Host hat keinen gültigen HTTP-Antwortheader gesendet. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Es gibt keine HTTP-Antwort in der Paketanalyseausgabe, oder die Anforderung ist falsch formatiert.
Der vom Host gesendete HTTP-Antwortheader gibt an, dass die Anforderung nicht abgeschlossen werden kann. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Der Antwortheader verfügt über einen anderen status Code als HTTP/1.1 200.
Der Host hat keine gültige GetResponse-Nachricht gesendet. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Paketanalyseausgabe enthält keine GetResponse-Nachricht , oder die Nachricht ist falsch formatiert.
Die GetResponse-Nachricht enthält kein RelatesTo-Element , oder das RelatesTo-Element ist leer. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Überprüfung der Meldung zeigt, dass das RelatesTo-Element nicht vorhanden oder leer ist.
Der Wert des RelatesTo-Elements in einer GetResponse-Nachricht stimmt nicht mit dem Wert des MessageId-Elements aus der entsprechenden Get-Nachricht überein. Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch Die Überprüfung der Meldung zeigt, dass das RelatesTo-Element einen falsch formatierten oder falschen Wert enthält.

WSDAPI-Problembehandlungshandbuch