방법: Svcutil.exe를 사용하여 메타데이터 문서 다운로드
Svcutil.exe를 사용하면 실행 중인 서비스에서 메타데이터를 다운로드하여 로컬 파일에 저장할 수 있습니다. HTTP 및 HTTPS URL 스키마의 경우 Svcutil.exe에서 WS-MetadataExchange 및 XML Web services 검색을 사용하여 메타데이터를 검색합니다. 기타 URL 스키마의 경우 Svcutil.exe에서 WS-MetadataExchange만 사용합니다.
기본적으로 Svcutil.exe는 MetadataExchangeBindings 클래스에 정의된 바인딩을 사용합니다. WS-MetadataExchange에 사용되는 바인딩을 구성하려면 IMetadataExchange
계약을 사용하고 메타데이터 엔드포인트 주소의 URI(Uniform Resource Identifier) 스키마와 이름이 같은 Svcutil.exe(svcutil.exe.config)의 구성 파일에서 클라이언트 엔드포인트를 정의해야 합니다.
주의
Svcutil.exe를 실행하여 각각 같은 이름의 작업이 포함된 서로 다른 두 서비스 계약을 노출하는 서비스의 메타데이터를 가져오는 경우, Svcutil.exe에 “메타데이터를 가져올 수 없습니다...”라는 오류가 표시됩니다. Get(Car c)
작업이 포함된 ICarService
서비스 계약을 노출하는 서비스가 Get(Book b)
작업이 포함된 IBookService
서비스 계약도 노출하는 경우를 예로 들 수 있습니다. 이 문제를 해결하려면 다음 중 하나를 수행합니다.
Svcutil.exe를 사용하여 메타데이터를 다운로드하려면
다음 위치에서 Svcutil.exe 도구를 찾습니다.
C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin
명령 프롬프트에서 다음 형식을 사용하여 이 도구를 실행합니다.
svcutil.exe /t:metadata <url>* | <epr>
메타데이터를 다운로드하려면
/t:metadata
옵션을 지정해야 합니다. 그렇지 않으면 클라이언트 코드와 구성이 생성됩니다.<url>
인수는 메타데이터를 제공하는 서비스 엔드포인트의 URL 또는 온라인으로 호스트되는 메타데이터 문서의 URL을 지정합니다.<epr>
인수는 WS-MetadataExchange를 지원하는 서비스 엔드포인트에 대한 WS-AddressingEndpointAddress
가 포함된 XML 파일의 경로를 지정합니다.
메타데이터 다운로드에 이 도구를 사용하는 방법에 대한 자세한 내용은 ServiceModel Metadata 유틸리티 도구(Svcutil.exe)를 참조하세요.
예시
다음 명령은 실행 중인 서비스에서 메타데이터 문서를 다운로드합니다.
svcutil /t:metadata http://service/metadataEndpoint