WSDAPI 문제 해결을 사용한 시작

이 문제 해결 가이드에는 애플리케이션 문제의 원인을 식별하는 데 사용할 수 있는 진단 절차 집합이 포함되어 있습니다. 문제의 원인이 성공적으로 확인되면 문제를 resolve 위해 진단 절차에서 제안된 솔루션을 적용할 수 있습니다.

사용할 진단 절차를 결정하는 방법에는 두 가지가 있습니다. 한 가지 방법은 클라이언트 유형에 대한 문제 해결 페이지로 이동하여 클라이언트 문제를 해결하는 데 사용할 진단 절차의 단계별 목록을 보는 것입니다. 다른 방법은 아래 문제 해결 빠른 참조로 이동하여 WSDAPI 애플리케이션과 관련된 일반적인 문제 및 문제를 진단하는 데 사용할 절차를 보여 주는 요약 테이블을 보는 것입니다.

클라이언트 유형별 문제 해결

다음 topics 클라이언트 유형별 관련 진단 절차를 보여 줍니다. 이러한 topics 클라이언트 유형과 연결된 메시지 패턴도 보여 줍니다.

빠른 참조 문제 해결

다음 표에서는 WSDAPI 클라이언트와 호스트가 네트워크에서 서로를 보고 디바이스 메타데이터를 교환하지 못하게 하는 몇 가지 문제를 보여 줍니다. 또한 이 표에는 실행할 진단 프로시저와 애플리케이션에 특정 문제가 있는지 여부를 평가하는 데 사용할 기준이 나와 있습니다.

네트워크 환경 문제

문제 진단 절차 문제 식별
방화벽은 네트워크 검색 트래픽을 차단합니다. 어댑터 및 방화벽 설정 검사 방화벽에서 네트워크 검색 예외를 사용하도록 설정하면 문제가 해결됩니다.
애플리케이션과 관련된 방화벽 예외는 메시지를 차단하는 것입니다. 어댑터 및 방화벽 설정 검사 방화벽을 사용하지 않도록 설정하면 문제가 해결됩니다. WF.msc는 애플리케이션별 방화벽 규칙을 표시합니다.
디바이스는 ProbeMatches 또는 ResolveMatches 메시지를 적시에(4초 미만) 전송하여 UDP 요청에 응답하지 않습니다. 어댑터 및 방화벽 설정 검사 방화벽을 사용하지 않도록 설정하면 문제가 해결되고 4초 이내에 응답하는 일반 호스트가 성공적으로 작동합니다.
애플리케이션의 보안 컨텍스트가 잘못되었습니다(즉, 클라이언트와 호스트에 네트워크에 대한 적절한 권한이 없음). UDP WS-Discovery에 일반 호스트 및 클라이언트사용 또는 HTTP 메타데이터 교환에 일반 호스트 및 클라이언트 사용 디바이스 주소는 WSD 디버그 클라이언트 출력에 표시되지 않습니다. 관리자 권한으로 애플리케이션을 실행하면 문제가 해결됩니다.
IPSec 정책이 메시지를 차단하고 있습니다. UDP WS-Discovery에 일반 호스트 및 클라이언트사용 또는 HTTP 메타데이터 교환에 일반 호스트 및 클라이언트 사용 디바이스 주소는 WSD 디버그 클라이언트 출력에 표시되지 않습니다. 방화벽을 사용하지 않도록 설정하여 문제가 해결되지 않습니다. IPSec 정책의 적용을 받지 않는 컴퓨터에서는 문제를 재현할 수 없습니다.

검색 트래픽 문제

문제 진단 절차 문제 식별
애플리케이션이 멀티캐스트 네트워크 인터페이스를 올바르게 열거하지 않으므로 Hello, Probe 또는 Resolve 메시지는 네트워크에서 전송되지 않습니다. WSD 디버그 클라이언트를 사용하여 멀티캐스트 트래픽 확인 Hello, Probe 또는 Resolve 메시지는 WSD 디버그 클라이언트 출력에 표시되지 않습니다. 패킷이 네트워크에 표시되지 않습니다. 패킷은 루프백 인터페이스 또는 다른 인터페이스에 대해 생성되지 않습니다.
프로브 메시지는 UDP 멀티캐스트에서 포트 3702로 전송되지 않습니다(직접 검색을 사용하지 않는 애플리케이션의 경우). UDP WS-Discovery에 대한 네트워크 추적 검사 메시지를 검사하면 잘못된 포트로 전송된 것으로 표시됩니다.
Probe 메시지에 Types 요소가 없거나 Types 요소가 비어 있습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 메시지를 검사하면 Types 요소가 없거나 비어 있는 것으로 표시됩니다.
프로브 메시지의 Types 요소에는 호스트가 응답할 형식이 포함되어 있지 않습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 메시지를 검사하면 Types 요소에 형식이 잘못되었거나 잘못된 값이 포함되어 있음을 알 수 있습니다.
ProbeMatches 메시지가 프로브가 전송된 UDP 포트로 유니캐스트를 보내지 않았습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 출력을 검사하면 ProbeMatches) 메시지가 전송되지 않거나 메시지가 잘못된 포트로 전송되었음을 보여 줍니다. 참고: 직접 검색을 사용하는 애플리케이션의 경우 Probe 메시지에 대한 응답으로 ProbeMatches를 HTTP 또는 HTTPS를 통해 보내야 합니다.
ProbeMatches 메시지에 RelatesTo 요소가 없거나 RelatesTo 요소가 비어 있습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 메시지를 검사하면 RelatesTo 요소가 없거나 비어 있는 것으로 표시됩니다.
ProbeMatches 메시지의 RelatesTo 요소 값이 해당 Probe 메시지의 MessageId 요소 값과 일치하지 않습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 메시지를 검사하면 RelatesTo 요소에 잘못된 형식 또는 잘못된 값이 포함되어 있음을 알 수 있습니다.
ProbeMatches 메시지에 포함된 XAddrs 요소는 XAddr 유효성 검사 규칙을 준수하지 않습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 메시지를 검사하면 XAddrs 가 유효하지 않은 것으로 표시됩니다.
확인 메시지는 UDP 멀티캐스트에서 포트 3702로 전송되지 않습니다(직접 검색을 사용하지 않는 애플리케이션의 경우). UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 출력을 검사하면 확인 메시지가 잘못된 포트로 전송되었음을 확인할 수 있습니다.
ResolveMatches 메시지가 Resolve 메시지를 보낸 UDP 포트로 유니캐스트를 보내지 않았습니다. UDP WS-Discovery에 대한 네트워크 추적검사 또는 Directed Discovery를 사용하여 애플리케이션에 대한 네트워크 추적 검사 출력을 검사하면 ResolveMatches 메시지가 전송되지 않거나 메시지가 잘못된 포트로 전송되었음을 확인할 수 있습니다.

메타데이터 교환 문제

문제 진단 절차 문제 식별
호스트에서 보급한 전송 주소가 잘못되었습니다. HTTP 메타데이터 교환에 일반 호스트 및 클라이언트 사용 WSD 디버그 클라이언트 출력에서 XAddrs를 검사하면 전송 주소가 잘못되었거나 형식이 잘못된 것으로 표시됩니다.
메타데이터 교환을 위해 TCP 연결을 설정할 수 없습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기에서 출력은 다음 패킷 교환을 표시하지 않습니다.
  • 클라이언트에서 보낸 TCP SYN 패킷
  • 호스트에서 보낸 TCP SYN/ACK 패킷
  • 클라이언트에서 보낸 TCP ACK 패킷
클라이언트가 유효한 HTTP GET 요청을 보내지 않았습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기 출력에 HTTP GET 요청이 없거나 요청 형식이 잘못되었습니다.
클라이언트가 유효한 WS-Transfer 메시지를 보내지 않았습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기 출력에 WS-Transfer 메시지 가져오기 가 없거나 메시지 형식이 잘못되었습니다.
호스트가 HTTP GET 요청에 지정된 URL 경로에서 수신 대기하지 않습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기 출력에는 HTTP 응답이 없습니다.
WS-Transfer Get 메시지에 To 요소가 없거나 To 요소가 비어 있습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 메시지를 검사하면 To 요소가 없거나 비어 있는 것으로 표시됩니다.
WS-Transfer Get 메시지의 To 요소 값이 호스트의 엔드포인트 주소 중 하나와 일치하지 않습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 메시지를 검사하면 To 요소의 값이 호스트의 ProbeMatches 또는 ResolveMatches 메시지에 보급된 엔드포인트 주소 중 하나와 일치하지 않는 것으로 표시됩니다.
호스트가 유효한 HTTP 응답 헤더를 보내지 않았습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기 출력에 HTTP 응답이 없거나 요청의 형식이 잘못되었습니다.
호스트에서 보낸 HTTP 응답 헤더는 요청을 완료할 수 없음을 나타냅니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 응답 헤더에는 HTTP/1.1 200 이외의 상태 코드가 있습니다.
호스트가 유효한 GetResponse 메시지를 보내지 않았습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 패킷 분석기 출력에 GetResponse 메시지가 없거나 메시지 형식이 잘못되었습니다.
GetResponse 메시지에 RelatesTo 요소가 없거나 RelatesTo 요소가 비어 있습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 메시지를 검사하면 RelatesTo 요소가 없거나 비어 있는 것으로 표시됩니다.
GetResponse 메시지의 RelatesTo 요소 값이 해당 Get 메시지의 MessageId 요소 값과 일치하지 않습니다. HTTP 메타데이터 교환에 대한 네트워크 추적 검사 메시지를 검사하면 RelatesTo 요소에 잘못된 형식 또는 잘못된 값이 포함되어 있음을 알 수 있습니다.

WSDAPI 문제 해결 가이드