WSDAPI 문제 해결을 사용한 시작
이 문제 해결 가이드에는 애플리케이션 문제의 원인을 식별하는 데 사용할 수 있는 진단 절차 집합이 포함되어 있습니다. 문제의 원인이 성공적으로 확인되면 문제를 resolve 위해 진단 절차에서 제안된 솔루션을 적용할 수 있습니다.
사용할 진단 절차를 결정하는 방법에는 두 가지가 있습니다. 한 가지 방법은 클라이언트 유형에 대한 문제 해결 페이지로 이동하여 클라이언트 문제를 해결하는 데 사용할 진단 절차의 단계별 목록을 보는 것입니다. 다른 방법은 아래 문제 해결 빠른 참조로 이동하여 WSDAPI 애플리케이션과 관련된 일반적인 문제 및 문제를 진단하는 데 사용할 절차를 보여 주는 요약 테이블을 보는 것입니다.
클라이언트 유형별 문제 해결
다음 topics 클라이언트 유형별 관련 진단 절차를 보여 줍니다. 이러한 topics 클라이언트 유형과 연결된 메시지 패턴도 보여 줍니다.
- Directed Discovery를 사용하여 WSDAPI 애플리케이션 문제 해결
- 함수 검색 클라이언트 문제 해결
- 가까운 사람/가까운 모임 문제 해결
- 프린터 추가 마법사 문제 해결
- 네트워크 Explorer 문제 해결
- 프로젝터 마법사 문제 해결
- 다른 WSDAPI 애플리케이션 문제 해결
빠른 참조 문제 해결
다음 표에서는 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 메타데이터 교환에 대한 네트워크 추적 검사 | 패킷 분석기에서 출력은 다음 패킷 교환을 표시하지 않습니다.
|
클라이언트가 유효한 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 요소에 잘못된 형식 또는 잘못된 값이 포함되어 있음을 알 수 있습니다. |