使用 WSDAPI 疑難排解消費者入門

此疑難排解指南包含一組診斷 程式 ,可用來協助識別應用程式問題的原因。 成功識別問題的原因之後,即可套用診斷程式中的建議解決方案,以解決問題。

有兩種方式可以判斷要使用的診斷程式。 其中一種方式是移至用戶端類型的疑難排解頁面,以檢視用來對用戶端進行疑難排解的診斷程式逐步清單。 另一種方式是移至下面的疑難排解快速參考,以檢視摘要資料表,以顯示 WSDAPI 應用程式的常見問題,以及用來診斷問題的程式。

依用戶端類型進行疑難排解

下列主題會依用戶端類型顯示相關的診斷程式。 這些主題也會顯示與用戶端類型相關聯的訊息模式。

快速參考疑難排解

下表顯示一些問題,可防止 WSDAPI 用戶端和主機在網路上彼此查看,以及交換裝置中繼資料。 這些資料表也會顯示要執行的診斷程式,以及用來評估應用程式是否遇到特定問題的準則。

網路環境問題

問題 診斷程式 問題識別
防火牆會封鎖網路探索流量。 檢查配接器和防火牆設定 在防火牆上啟用網路探索例外狀況可解決問題。
應用程式特有的防火牆例外狀況會封鎖訊息。 檢查配接器和防火牆設定 停用防火牆可解決問題。 WF.msc 會顯示應用程式特定的防火牆規則。
裝置不會及時傳送 ProbeMatchesResolveMatches 訊息來回應 UDP 要求, (少於 4 秒) 。 檢查配接器和防火牆設定 停用防火牆可解決問題,而回應少於 4 秒的一般主機可順利運作。
應用程式的安全性內容不正確, (也就是說,用戶端和主機在網路) 沒有適當的許可權。 使用一般主機和用戶端進行 UDP WS-Discovery 或使用 一般主機和用戶端進行 HTTP 中繼資料交換 裝置位址不會顯示在 WSD 偵錯用戶端輸出中。 以系統管理員身分執行應用程式可解決問題。
IPSec 原則正在封鎖訊息。 使用一般主機和用戶端進行 UDP WS-Discovery 或使用 一般主機和用戶端進行 HTTP 中繼資料交換 裝置位址不會顯示在 WSD 偵錯用戶端輸出中。 停用防火牆無法解決問題。 無法在電腦上重現問題,而不受任何 IPSec 原則約束。

探索流量問題

問題 診斷程式 問題識別
HelloProbeResolve 訊息不會在網路上傳輸,因為應用程式未正確列舉多播網路介面。 使用 WSD 偵錯用戶端來驗證多播流量 Hello、Probe 或 Resolve 訊息不會出現在 WSD 偵錯用戶端輸出中。 封包不會出現在網路上。 封包不會針對回送介面或其他介面產生。
UDP 多播不會將探查訊息傳送至埠 3702 (,應用程式不會使用導向探索) 。 檢查 UDP WS-Discovery 的網路追蹤 訊息的檢查會顯示它已傳送到錯誤的埠。
探查訊息不包含Types元素,或Types元素是空的。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 檢查訊息會顯示 Types 元素不存在或空白。
探查訊息的Types元素不包含主機將回應的類型。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 檢查訊息會顯示 Types 元素包含格式不正確或不正確的值。
ProbeMatches訊息未傳送至傳送探查的來源 UDP 埠。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 輸出檢查顯示未傳送 ProbeMatches) 訊息,或訊息傳送到錯誤的埠。 注意: 對於使用導向探索的應用程式, ProbeMatches 必須透過 HTTP 或 HTTPS 傳送,以回應 探查 訊息。
ProbeMatches訊息不包含RelatesTo元素,或RelatesTo元素是空的。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 檢查訊息會顯示 RelatesTo 元素不存在或空白。
ProbeMatches訊息中RelatesTo元素的值不符合對應探查訊息中MessageId元素的值。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 檢查訊息會顯示 RelatesTo 元素包含格式不正確或不正確的值。
ProbeMatches訊息中包含的XAddrs元素不符合XAddr 驗證規則 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 檢查訊息會顯示 XAddrs 無效。
解析訊息不會由 UDP 多播傳送至埠 3702 (,應用程式不會使用導向探索) 。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 輸出的檢查會顯示 解析 訊息已傳送至錯誤的埠。
ResolveMatches訊息未傳送至傳送解析訊息的 UDP 埠。 檢查 UDP WS 探索的網路追蹤 ,或使用 導向探索檢查應用程式的網路追蹤 輸出檢查顯示未傳送 ResolveMatches 訊息,或訊息傳送到錯誤的埠。

中繼資料交換問題

問題 診斷程式 問題識別
主機公告的傳輸位址錯誤。 使用一般主機和用戶端進行 HTTP 中繼資料交換 檢查 WSD 偵錯用戶端輸出中的 XAddrs 會顯示傳輸位址錯誤或格式錯誤。
無法建立用於中繼資料交換的 TCP 連線。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器的輸出不會顯示下列封包交換:
  • 從用戶端傳送的 TCP SYN 封包
  • 從主機傳送的 TCP SYN/ACK 封包
  • 從用戶端傳送的 TCP ACK 封包
用戶端未傳送有效的 HTTP GET 要求。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器輸出中沒有 HTTP GET 要求,或要求格式不正確。
用戶端未傳送有效的 WS-Transfer Get 訊息。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器輸出中沒有 WS-Transfer 取得 訊息,或訊息格式不正確。
主機未接聽 HTTP GET 要求中指定的 URL 路徑。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器輸出中沒有 HTTP 回應。
WS-Transfer Get 訊息不包含 To 元素,或 To 元素是空的。 檢查 HTTP 中繼資料交換的網路追蹤 檢查訊息會顯示 To 元素不存在或空白。
WS-Transfer Get訊息的To元素值不符合其中一個主機的端點位址。 檢查 HTTP 中繼資料交換的網路追蹤 檢查訊息會顯示 To 元素的值不符合主機 ProbeMatchesResolveMatches 訊息中公告的其中一個端點位址。
主機未傳送有效的 HTTP 回應標頭。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器輸出中沒有 HTTP 回應,或要求格式不正確。
主機所傳送的 HTTP 回應標頭表示無法完成要求。 檢查 HTTP 中繼資料交換的網路追蹤 回應標頭具有 HTTP/1.1 200 以外的狀態碼。
主機未傳送有效的 GetResponse 訊息。 檢查 HTTP 中繼資料交換的網路追蹤 封包分析器輸出中沒有 GetResponse 訊息,或訊息格式不正確。
GetResponse訊息不包含RelatesTo元素,或RelatesTo元素是空的。 檢查 HTTP 中繼資料交換的網路追蹤 檢查訊息會顯示 RelatesTo 元素不存在或空白。
GetResponse訊息中RelatesTo元素的值不符合對應Get訊息中MessageId元素的值。 檢查 HTTP 中繼資料交換的網路追蹤 檢查訊息會顯示 RelatesTo 元素包含格式不正確或不正確的值。

WSDAPI 疑難排解指南