Bagikan melalui


Menggunakan Pengelogan WinHTTP untuk Memverifikasi Dapatkan Lalu Lintas

Jika host dan klien generik berhasil tetapi host dan klien yang sebenarnya masih gagal, ada kemungkinan permintaan metadata tidak dimulai. Pengelogan WinHTTP dapat digunakan untuk memverifikasi bahwa pesan keluar sedang dibuat dan dikirim dengan benar.

Aplikasi klien berbasis WSDAPI menggunakan WinHTTP untuk menyambungkan ke perangkat. Host perangkat berbasis WSDAPI tidak menggunakan WinHTTP. Selain itu, beberapa proksi pihak ketiga tidak menggunakan WinHTTP. Saat memecahkan masalah host atau proksi yang tidak menggunakan WinHTTP, lewati prosedur diagnostik ini dan lanjutkan pemecahan masalah dengan mengikuti prosedur dalam Memeriksa Jejak Jaringan untuk Metadata HTTP Exchange.

Pengelogan WinHTTP tidak memperlihatkan semua lalu lintas tingkat TCP. Lewati ke Memeriksa Jejak Jaringan untuk Metadata HTTP Exchange jika lalu lintas selain lalu lintas HTTP menarik.

Untuk menggunakan pengelogan WinHTTP untuk memverifikasi Dapatkan lalu lintas

  1. Ambil log WinHTTP.
  2. Mulai Notepad atau editor teks lainnya. Editor teks harus dijalankan sebagai Administrator.
  3. Buka file log WinHTTP.
  4. Verifikasi bahwa permintaan HTTP dan pesan metadata yang diperlukan telah dikirim.

Jika pesan Dapatkan untuk host ditemukan di log WinHTTP, permintaan metadata berhasil dikirim ke WinHTTP. Lanjutkan pemecahan masalah dengan mengikuti prosedur dalam Memeriksa Jejak Jaringan untuk Metadata HTTP Exchange.

Jika pesan Dapatkan tidak dapat ditemukan untuk host di log WinHTTP, maka permintaan metadata tidak dimulai. Ini dapat terjadi ketika host menerbitkan XAddrs yang tidak valid. Verifikasi bahwa XAddrs pada host sesuai dengan aturan validasi XAddr.

Memverifikasi bahwa permintaan HTTP dan pesan metadata yang diperlukan dikirim

Peristiwa berikut harus terjadi untuk pertukaran metadata yang berhasil:

  • Klien WSDAPI menghasilkan permintaan HTTP keluar. Permintaan ini dikirim ke host WSDAPI.
  • Klien mengirim pesan Dapatkan ke host.

Peristiwa ini ditangkap dalam log WinHTTP.

Cuplikan file log WinHTTP berikut menunjukkan permintaan HTTP keluar yang dihasilkan oleh klien WSDAPI.

16:51:47.893 ::*0000004* :: WinHttpSendRequest(0x36aae0, "", 0, 0x0, 0, 658, 0)
16:51:47.893 ::*0000004* :: WinHttpSendRequest() returning TRUE
16:51:47.897 ::*0000004* :: sending data:
16:51:47.897 ::*0000004* :: 226 (0xe2) bytes
16:51:47.897 ::*0000004* :: <<<<-------- HTTP stream follows below ----------------------------------------------->>>>
16:51:47.897 ::*0000004* :: POST /dbe17c74-3b21-4f52-addc-b84b444f73a0 HTTP/1.1
16:51:47.897 ::*0000004* :: Content-Type: application/soap+xml
16:51:47.897 ::*0000004* :: User-Agent: WSDAPI
16:51:47.897 ::*0000004* :: Host: 192.168.0.1:5357
16:51:47.897 ::*0000004* :: Content-Length: 658
16:51:47.897 ::*0000004* :: Connection: Keep-Alive
16:51:47.897 ::*0000004* :: Cache-Control: no-cache
16:51:47.897 ::*0000004* :: Pragma: no-cache
16:51:47.897 ::*0000004* :: 
16:51:47.897 ::*0000004* :: 
16:51:47.897 ::*0000004* :: <<<<-------- End ----------------------------------------------->>>>

Cuplikan file log WinHTTP berikut ini memperlihatkan Dapatkan pesan . Pesan ini harus segera mengikuti permintaan HTTP.

16:51:47.898 ::*0000004* :: WinHttpWriteData(0x36aae0, 0x11aa7c4, 658, 0x0)
16:51:47.899 ::*0000004* :: sending data:
16:51:47.899 ::*0000004* :: 658 (0x292) bytes
16:51:47.899 ::*0000004* :: <<<<-------- HTTP stream follows below ----------------------------------------------->>>>
16:51:47.899 ::*0000004* :: <?xml version="1.0" encoding="utf-8" ?>
16:51:47.899 ::*0000004* :: <soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"><soap:Header><wsa:To>urn:uuid:dbe17c74-3b21-4f52-addc-b84b444f73a0</wsa:To><wsa:Action>https://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action><wsa:MessageID>urn:uuid:8506ac50-3646-4621-9680-86f484d87909</wsa:MessageID><wsa:ReplyTo><wsa:Address>https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:From><wsa:Address>urn:uuid:b32467b5-e7ee-4ae3-8a8e-f5aa417c23b6</wsa:Address></wsa:From></soap:Header><soap:Body></soap:Body></soap:Envelope>
16:51:47.899 ::*0000004* :: <<<<-------- End ----------------------------------------------->>>>
16:51:47.899 ::*0000004* :: WinHttpWriteData() returning TRUE

Elemen Tindakan (<wsa:Action>https://schemas.xmlsoap.org/ws/2004/09/transfer/Get</wsa:Action>) mengidentifikasi pesan sebagai Dapatkan pesan. Verifikasi bahwa nilai elemen Kepada (misalnya, <wsa:To>urn:uuid:dbe17c74-3b21-4f52-addc-b84b444f73a0</wsa:To>) cocok dengan ID perangkat yang diiklankan oleh host dalam pesan WS-Discovery UDP asli. ID perangkat yang diiklankan oleh host dapat diperiksa dengan menggunakan Host Debug WSD. Untuk informasi selengkapnya, lihat Menggunakan Host Generik dan Klien untuk UDP WS-Discovery.

Selain itu, respons host terhadap permintaan metadata dapat ditemukan di log WinHTTP klien. Host menghasilkan pesan GetResponse sebagai respons terhadap pesan Dapatkan klien.

Cuplikan file log WinHTTP berikut menunjukkan pesan GetResponse masuk yang diterima oleh klien WSDAPI.

16:51:47.899 ::*0000004* :: WinHttpReceiveResponse(0x36aae0, 0x0)
16:51:47.899 ::*0000004* :: WinHttpReceiveResponse() returning TRUE
16:51:47.899 ::*Session* :: DllMain(0x73fc0000, DLL_THREAD_ATTACH, 0x0)
16:51:47.902 ::*0000004* :: received data:
16:51:47.902 ::*0000004* :: 1024 (0x400) bytes
16:51:47.902 ::*0000004* :: <<<<-------- HTTP stream follows below ----------------------------------------------->>>>
16:51:47.902 ::*0000004* :: HTTP/1.1 200 
16:51:47.902 ::*0000004* :: Content-Type: application/soap+xml
16:51:47.902 ::*0000004* :: Server: Microsoft-HTTPAPI/2.0
16:51:47.902 ::*0000004* :: Date: Fri, 15 Jun 2007 23:51:47 GMT
16:51:47.905 ::*0000004* :: Content-Length: 2228
16:51:47.905 ::*0000004* :: 
16:51:47.905 ::*0000004* :: <?xml version="1.0" encoding="utf-8" ?>
16:51:47.905 ::*0000004* :: <soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsx="https://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsdp="https://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:un0="http://schemas.microsoft.com/windows/pnpx/2005/10" xmlns:pub="http://schemas.microsoft.com/windows/pub/2005/07"><soap:Header><wsa:To>https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To><wsa:Action>https://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse</wsa:Action><wsa:MessageID>urn:uuid:2884cbcc-2848-4c35-9327-5ab5451a8729</wsa:MessageID><wsa:RelatesTo>urn:uuid:8506ac50-3646-4621-9680-86f484d87909</wsa:RelatesTo></soap:Header><soap:Body><wsx:Metadata><wsx:MetadataSection Dialect="https://schemas.xmlsoap.org/ws/2006/02/devprof/ThisDevice"><wsdp:ThisDevice><wsd
16:51:47.905 ::*0000004* :: <<<<-------- End ----------------------------------------------->>>>

Elemen Tindakan (<wsa:Action>https://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse</wsa:Action>) mengidentifikasi pesan sebagai pesan GetResponse . Verifikasi bahwa nilai elemen RelatesTo dari pesan GetResponse cocok dengan nilai elemen MessageID dari Dapatkan pesan. Dalam contoh ini, nilai elemen RelatesTo (<wsa:RelatesTo>urn:uuid:8506ac50-3646-4621-9680-86f484d87909</wsa:RelatesTo>) cocok dengan nilai elemen MessageID dari Dapatkan pesan (<wsa:MessageID>urn:uuid:8506ac50-3646-4621-9680-86f484d87909</wsa:MessageID>).

WinHTTP

Menangkap Log WinHTTP

Prosedur Diagnostik WSDAPI

Mulai Menggunakan Pemecahan Masalah WSDAPI