Verwenden eines generischen Hosts und Clients für UDP WS-Discovery

Wenn sich der Client und der Host im Netzwerk nicht gegenseitig erkennen, kann ein generischer Host und Client durch den benutzerdefinierten Host und den benutzerdefinierten Client ersetzt werden, um das Problem zu beheben. Wird die Geräteadresse nicht in der Ausgabe des WSD-Debugclients angezeigt, wird der Fehler wahrscheinlich durch die Netzwerkumgebung verursacht. Weitere Informationen zum generischen Host und Client finden Sie unter Debugging-Tools.

Wenn der Host oder Client eine Anwendung ist, die auf einem PC ausgeführt wird, sollte der generische Host oder Client im gleichen Sicherheitskontext wie der tatsächliche Host oder Client ausgeführt werden. Wenn beispielsweise der tatsächliche Host oder Client als Administrator ausgeführt wird, muss der generische Host oder Client ebenfalls als Administrator ausgeführt werden. Wenn der Host oder Client ein eigenständiges Gerät ist, sollte er ebenfalls vollständig durch einen PC ersetzt werden, auf dem ein generischer Host oder Client ausgeführt wird.

So verwenden Sie einen generischen Host und Client zur Fehlerbehebung bei UDP WS-Discovery

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Führen Sie den folgenden Befehl aus: WSDDebug_host.exe /mode metadata /start

    Hinweis

    Möglicherweise wird ein Dialogfeld Windows Security Alert angezeigt. Wenn dies der Fall ist, klicken Sie auf Entsperren, damit der WSD Debug Host ausgeführt werden kann.

     

    Dieser Befehl generiert eine Ausgabe ähnlich der folgenden. Notieren Sie sich die Geräte-ID.

    WSDAPI Debug Host
    Copyright (C) Microsoft Corporation 2007.  All rights reserved.
    Device ID is urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
    Host metadata>
    
  3. Führen Sie den folgenden Befehl aus: WSDDebug_client.exe /mode metadata /hello off /resolve <id>. Ersetzen Sie <id> durch die in Schritt 2 identifizierte Geräte-ID.

    Hinweis

    Möglicherweise wird ein Dialogfeld Windows Security Alert angezeigt. Wenn dies der Fall ist, klicken Sie auf Entsperren, damit der WSD-Debugclient ausgeführt werden kann.

     

Der WSD-Debugclient generiert eine Ausgabe ähnlich der folgenden.

WSDAPI Debug Client
Copyright (C) Microsoft Corporation 2007.  All rights reserved.
Client ID is urn:uuid:0f571af7-6b0e-4daf-8054-f2233ac27910
Hello mode is disabled
Client metadata>
*****************************************************************************
Add at 02/28/07 15:16:51
+ EPR:
  + Address:                 urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366
+ Types:
    (wsdp) https://schemas.xmlsoap.org/ws/2006/02/devprof:Device
+ XAddrs:
  https://[::1]:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
+ Metadata version:          2
+ Instance ID:               1
+ Probe/Resolve tag:         WSDAPI debug_client
+ Remote transport address:  [::1]:3702
+ Local transport address:   ::1
+ Local interface GUID:      42133cd4-6a70-11db-bbc9-806e6f6e6963
Client metadata>

Der WSD-Debugclient generiert in einem Netzwerk mit vielen DPWS-Geräten möglicherweise viele Ausgaben. Die Ausgabe kann zur einfacheren Analyse an eine Datei umgeleitet werden. Geben Sie in der WSD-Debugclient-Eingabeaufforderung log tee <filename> ein, um die Ausgabe an eine Datei umzuleiten. Die Ausgabeumleitung kann beendet werden, indem Sie in der WSD-Debugclient-Eingabeaufforderung log tee stop eingeben.

Notieren Sie sich die Endpunktreferenz (EPR)-Adresse. Diese EPR-Adresse sollte mit der in Schritt 2 oben angegebenen Geräte-ID übereinstimmen. Wenn dies der Fall ist, hängt der Anwendungsfehler wahrscheinlich nicht mit dem Betriebssystem oder der Netzwerkumgebung zusammen. Ersetzen Sie den generischen Host und Client durch den benutzerdefinierten Host und Client, und fahren Sie mit der Fehlerbehebung fort, indem Sie die Verfahren unter Verwenden des WSD-Debugclients zum Überprüfen des Multicast-Datenverkehrs befolgen.

Wenn die Geräte-ID nicht mit der EPR-Adresse übereinstimmt, hängt der Anwendungsfehler wahrscheinlich mit dem Betriebssystem oder der Netzwerkumgebung zusammen. Der Fehler könnte eine oder mehrere der folgenden Ursachen haben:

  • Die Anwendung wird im falschen Sicherheitskontext ausgeführt. Stellen Sie sicher, dass die Anwendung die korrekten Anmeldeinformationen verwendet und dass der Client und der Host über ausreichende Berechtigungen für den Zugriff auf das Netzwerk verfügen.
  • Die Firewall-Konfiguration ist inkorrekt. Befolgen Sie die Anweisungen unter Überprüfen von Adapter- und Firewall-Einstellungen, um zu überprüfen, ob die Windows-Firewall-Einstellungen korrekt sind und keine anderen Regeln zum Ablegen der Pakete vorliegen. Der Client und der Host können auch auf einen „unberührten“ Computer kopiert werden (d.h. einen mit einer Standardinstallation des Betriebssystems, die noch nie einer Domäne beigetreten ist), um zu versuchen, den Fehler zu reproduzieren.
  • Eine IPSec-Richtlinie blockiert die Anwendung. Kopieren Sie den Client und den Host auf einen Computer, der nicht IPSec-Richtlinien unterliegt, und versuchen Sie, den Fehler zu reproduzieren.

WSDAPI-Diagnoseprozeduren

Erste Schritte bei der Problembehandlung mit WSDAPI