共用方式為


檢查 HTTP 中繼資料交換的網路追蹤

任何可顯示原始封包的網路封包分析器都可以用來檢查 HTTP 中繼資料交換要求。 建議使用 Microsoft 網路監視器 3 (Netmon) 。 如需 Netmon 的詳細資訊,請參閱 下載 Netmon 和範例 DPWS 篩選器

此診斷程式可能不適用於使用安全通道進行通訊的用戶端和主機,因為訊息內容已加密。

檢查 HTTP 中繼資料交換的網路追蹤

  1. 將主機和用戶端設定為透過網路 (執行,請確定主機和用戶端會在不同的電腦上運作) 。

  2. 在用戶端或主機上安裝封包分析器 (Netmon) 。

  3. 設定封包分析器,以擷取連線主機和用戶端之網路介面卡上的流量。

  4. 藉由啟動主機和用戶端,或在網路總管中按 F5 來重現失敗。

  5. 篩選結果以隔離WS-Discovery和中繼資料交換流量。 若要檢視範例 Netmon 篩選準則,請參閱 下載 Netmon 和範例 DPWS 篩選器

    注意

    此為選用步驟。

     

  6. 確認用戶端和主機之間傳送的訊息符合基本流量需求。

確認訊息符合流量需求

WSDAPI 用戶端和主機必須傳送符合下列準則的訊息。 如需有關訊息模式的一般資訊,請參閱 探索和中繼資料 Exchange 訊息模式

  • 除非絕對確定WS-Discovery未用於中繼資料交換,否則訊息必須符合 檢查 UDP WS-Discovery 網路追蹤主題中提供的流量需求。

  • 必須在用戶端與ProbeMatchesResolveMatches訊息的XAddrs元素中提供的第一個傳輸位址之間建立 TCP 連線。 下列清單顯示用來建立 TCP 連線的一般封包交換。

    • 用戶端會將 TCP SYN 封包傳送至位於指定埠的主機。
    • 主機會將 TCP SYN/ACK 封包傳送至用戶端。
    • 用戶端會將 TCP ACK 封包傳送至位於指定埠的主機。

    一旦用戶端傳送 TCP ACK 封包,就會建立 TCP 連線。 請注意,如果先前已建立 TCP 連線,將不會進行此訊息交換。

  • 用戶端必須傳送有效的 取得 HTTP 要求和訊息。

  • 主機必須接聽 取得 HTTP 要求中指定的 URL 路徑。

  • Get中繼資料訊息的To元素必須存在,而且不能是空的。 To元素的值必須符合主機的其中一個端點位址。 主機的端點位址通常會在 ProbeMatchesResolveMatches 訊息中公告。

  • 主機必須傳送有效的 HTTP 回應標頭。 如果初始要求成功,回應標頭應該包含 HTTP/1.1 200 狀態碼。

  • 主機必須傳送有效的 GetResponse 訊息。

  • GetResponse訊息的RelatesTo元素必須存在,而且不能是空的。 其值必須符合對應Get訊息中MessageId元素的值。

如果程式所傳送的 HTTP 要求或中繼資料交換訊息不符合這些流量需求,則已成功識別問題的原因,而且不需要進一步的疑難排解步驟。 重寫程式,使其產生符合規範的訊息和要求,並重新測試程式。

如果問題來源仍然無法識別,請連絡 Microsoft 支援服務以尋求協助。 連絡支援之前,請先收集適當的記錄檔,以協助找出問題的根本原因。 如需詳細資訊,請參閱 啟用 WSDAPI 追蹤

WSDAPI 診斷程式

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

下載 Netmon 和範例 DPWS 篩選器