Überprüfen von Netzwerkablaufverfolgungen für HTTP-Metadatenaustausch
Jede Netzwerkpaketanalyse, die unformatierte Pakete anzeigen kann, kann verwendet werden, um HTTP-Metadatenaustauschanforderungen zu überprüfen. Microsoft Network Monitor 3 (Netmon) wird empfohlen. Weitere Informationen zu Netmon finden Sie unter Herunterladen von Netmon- und Beispiel-DPWS-Filtern.
Dieses Diagnoseverfahren ist möglicherweise nicht so nützlich für Clients und Hosts, die einen sicheren Kanal für die Kommunikation verwenden, da der Nachrichteninhalt verschlüsselt ist.
So überprüfen Sie Netzwerkablaufverfolgungen für den HTTP-Metadatenaustausch
Konfigurieren Sie Host und Client so, dass sie über das Netzwerk ausgeführt werden (stellen Sie also sicher, dass Host und Client auf verschiedenen Computern ausgeführt werden).
Installieren Sie die Paketanalyse (Netmon) entweder auf dem Client oder auf dem Host.
Konfigurieren Sie die Paketanalyse, um Datenverkehr auf dem Netzwerkadapter zu erfassen, der den Host und den Client verbindet.
Reproduzieren Sie den Fehler, indem Sie den Host und den Client starten oder F5 im Netzwerk Explorer drücken.
Filtern Sie die Ergebnisse, um WS-Discovery- und Metadatenaustauschdatenverkehr zu isolieren. Informationen zum Anzeigen von Netmon-Beispielfiltern finden Sie unter Herunterladen von Netmon- und Beispiel-DPWS-Filtern.
Hinweis
Dieser Schritt ist optional.
Vergewissern Sie sich, dass zwischen Client und Host gesendete Nachrichten die grundlegenden Datenverkehrsanforderungen erfüllen.
Überprüfen, ob Nachrichten die Datenverkehrsanforderungen erfüllen
WSDAPI-Clients und -Hosts müssen Nachrichten senden, die den folgenden Kriterien entsprechen. Allgemeine Informationen zu Nachrichtenmustern finden Sie unter Ermittlungs- und Metadatenaustausch-Nachrichtenmuster.
Nachrichten müssen die im Thema Überprüfen von Netzwerkablaufverfolgungen für UDP WS-Discovery angegebenen Datenverkehrsanforderungen erfüllen, es sei denn, es ist absolut sicher, dass WS-Discovery nicht für den Metadatenaustausch verwendet wird.
Zwischen dem Client und der ersten Transportadresse, die im XAddrs-Element einer ProbeMatches- oder ResolveMatches-Nachricht angegeben ist, muss eine TCP-Verbindung hergestellt werden. Die folgende Liste zeigt einen typischen Paketaustausch, der zum Herstellen einer TCP-Verbindung verwendet wird.
- Der Client sendet ein TCP SYN-Paket an den Host an einem angegebenen Port.
- Der Host sendet ein TCP SYN/ACK-Paket an den Client.
- Der Client sendet ein TCP-ACK-Paket an den Host an einem angegebenen Port.
Sobald der Client ein TCP-ACK-Paket gesendet hat, wird die TCP-Verbindung hergestellt. Beachten Sie, dass dieser Nachrichtenaustausch nicht stattfindet, wenn zuvor eine TCP-Verbindung hergestellt wurde.
Der Client muss eine gültige HTTP-Anforderung und -Nachricht senden.
Der Host muss auf dem URL-Pfad lauschen, der in der HTTP-Anforderung abrufen angegeben ist.
Das To-Element einer Get Metadata-Nachricht muss vorhanden und nicht leer sein. Der Wert des To-Elements muss mit einer der Endpunktadressen des Hosts übereinstimmen. Die Endpunktadresse eines Hosts wird in der Regel in einer ProbeMatches - oder ResolveMatches-Nachricht angekündigt.
Der Host muss einen gültigen HTTP-Antwortheader senden. Wenn die anfängliche Anforderung erfolgreich war, sollte der Antwortheader den HTTP/1.1 200 status Code enthalten.
Der Host muss eine gültige GetResponse-Nachricht senden.
Das RelatesTo-Element einer GetResponse-Nachricht muss vorhanden sein und darf nicht leer sein. Sein Wert muss mit dem Wert des MessageId-Elements aus der entsprechenden Get-Nachricht übereinstimmen.
Wenn die vom Programm gesendeten HTTP-Anforderungen oder Metadatenaustauschnachrichten diesen Datenverkehrsanforderungen nicht entsprechen, wurde die Ursache des Problems erfolgreich identifiziert, und es sind keine weiteren Schritte zur Problembehandlung erforderlich. Schreiben Sie das Programm neu, sodass es konforme Nachrichten und Anforderungen generiert und das Programm erneut testen kann.
Wenn die Ursache des Problems weiterhin nicht ermittelt werden kann, wenden Sie sich an den Microsoft-Support, um Unterstützung zu erhalten. Sammeln Sie vor der Kontaktaufnahme mit dem Support die entsprechenden Protokolldateien, um die Grundursache des Problems zu identifizieren. Weitere Informationen finden Sie unter Aktivieren der WSDAPI-Ablaufverfolgung.
Zugehörige Themen