XAddr-Validierungsregeln

Transportadressen (XAddrs), die in ProbeMatches - und ResolveMatches-Nachrichten enthalten sind, unterliegen einer grundlegenden Überprüfung, bevor WSDAPI eine HTTP-Nachricht sendet, z. B. eine Metadatenanforderung.

Dies ist, um sicherzustellen, dass sich die XAddrs im selben Subnetz wie der Client befinden.

Der folgende XML-Code zeigt ein XAddrs-Beispielelement. Das wsd-Präfix verweist auf den Namespace https://schemas.xmlsoap.org/ws/2005/04/discovery.

<wsd:XAddrs>
    https://192.168.0.2:5357/37f86d35-e6ac-4241-964f-1d9ae46fb366
</wsd:XAddrs>

Alle folgenden Bedingungen müssen erfüllt sein, bevor die HTTP-Nachricht über das Kabel gesendet wird.

  • XAddrs müssen HTTP- oder HTTPS-Adressen sein. XAddrs anderer Schemas werden ignoriert.
  • Wenn HTTPS-XAddrs vorhanden sind, müssen alle XAddrs HTTPS sein. XAddr-Abschnitte, die sowohl HTTP- als auch HTTPS-Adressen enthalten, werden vollständig ignoriert. Darüber hinaus muss die Endpunktadresse des Geräts genau mit den HTTPS-XAddrs übereinstimmen.
  • XAddrs müssen IP-Adressen oder Hostnamen sein, die über DNS aufgelöst werden können. In der Regel werden IP-Adressen verwendet.
  • Mindestens eine in den XAddrs enthaltene IP-Adresse (oder IP-Adresse, die von einem in den XAddrs enthaltenen Hostnamen aufgelöst wurde) muss sich im selben Subnetz wie der Adapter befinden, über den die ProbeMatches - oder ResolveMatches-Nachricht empfangen wurde.
  • Auf die Adresse und den Port, die im ersten XAddr angegeben sind, muss zugegriffen werden können. WSDAPI versucht, beim Herstellen einer HTTP-Verbindung eine Verbindung mit dieser Adresse herzustellen.

ProbeMatches

ResolveMatches

Ermittlungs- und Metadaten-Exchange-Nachrichtenmuster