任何可顯示原始封包的網路封包分析器都可以用來檢查 HTTP 元數據交換要求。 建議使用 Microsoft Network Monitor 3(Netmon)。 如需 Netmon 的詳細資訊,請參閱 下載 Netmon 和範例 DPWS 篩選器。
檢查網路追蹤是否有導向探索
將主機和用戶端設定為跨網路執行(也就是說,請確定主機和用戶端在不同的計算機上運作)。
在用戶端或主機上安裝封包分析器 (Netmon)。
設定封包分析器,以擷取連線主機和用戶端之網路適配器上的流量。
藉由啟動主機和用戶端或在網路總管中按 F5 來重現失敗。
篩選結果以隔離 WS-Discovery 和元數據交換流量。 若要檢視範例 Netmon 篩選條件,請參閱 下載 Netmon 和範例 DPWS 篩選。
注意
這個步驟是選擇性的。
確認在用戶端和主機之間傳送的訊息符合基本流量需求。
確認訊息符合流量需求
WSDAPI 用戶端和主機必須傳送符合下列準則的訊息。 如需訊息模式的一般資訊,請參閱 探索和元資料交換訊息模式。
- 探測 訊息必須由 HTTP 或 HTTPS 傳送,通常是使用埠 5357 或 5358。
- 型別探查 訊息的元素必須存在且不得為空白。 它必須包含主機能夠回應的類型。
- ProbeMatches 訊息必須傳送至傳送 探查 的 HTTP 或 HTTPS 連接埠。
- RelatesTo 元素在 ProbeMatches 訊息中必須存在,且不得為空白。 其值必須符合對應 探查 訊息中 MessageId 元素的值。
- 如果 ProbeMatches 訊息中包含 XAddrs 元素,則必須驗證提供的傳輸位址。 如需詳細資訊,請參閱 XAddr 驗證規則。
- ProbeMatches 訊息必須在對應 探測 訊息的 4 秒內傳送。 Windows 防火牆可能會丟棄在探查消息之後超過 4 秒才傳送的 ProbeMatches 訊息。
- 如果沒有 XAddrs 元素包含在 ProbeMatches 訊息中,用戶端或主機將會傳送 HTTP 訊息(例如 取得 元數據交換要求或服務訊息),則用戶端或主機必須透過 HTTP 或 HTTPS 傳送 解析 訊息。 此訊息通常會傳送至埠 5357 或 5358。
- 如果傳送 Resolve 訊息,則必須將 ResolveMatches 訊息傳送至傳送 Resolve 訊息的 HTTP 或 HTTPS 連接埠。
- ResolveMatches 訊息必須在對應 解析 訊息的 4 秒內傳送。 Windows 防火牆可能會丟棄在解析訊息傳送超過 4 秒之後傳送的 ResolveMatches 訊息。
如果程式所傳送的訊息不符合這些訊息需求,則已成功識別問題的原因,而且不需要採取進一步的疑難解答步驟。 重寫程式,使其產生一致訊息並重新測試程式。
如果問題來源仍無法識別,請連絡Microsoft支持人員以取得協助。 連絡支持人員之前,請先收集適當的記錄檔,以協助找出問題的根本原因。 如需詳細資訊,請參閱 啟用 WSDAPI 追蹤。
相關主題