방법: XML Web services의 검색을 사용하도록 설정
이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.
다음과 같은 방법으로 웹 서비스를 잠재적 클라이언트에 게시할 수 있습니다.
파일 확장명이 .disco인 XML 검색 파일을 사용합니다.
.vsdisco 확장명을 지정하는 URL을 사용합니다.
?DISCO 쿼리 문자열을 통해 웹 서비스를 사용합니다.
이 항목에서는 위의 방법 중 처음 두 개의 검색 메커니즘을 설정하는 방법을 보여 줍니다. ?DISCO 쿼리 문자열을 통해 웹 서비스에 대한 요청을 활성화하는 방법은 기본적으로 사용할 수 있으므로 이 항목에서 다루지 않습니다. 이 옵션에 대한 자세한 내용은 XML Web services 게시 및 배포를 참조하십시오.
웹 서비스에 대한 정적 검색 문서를 게시하려면
원하는 편집기에서 XML 문서를 만들어 ?xml version="1.0" ? 요소를 첫 줄에 추가합니다.
XML 문서에서 discovery 요소를 다음과 같이 추가합니다.
<disco:discovery xmlns:disco="https://schemas.xmlsoap.org/disco/"> </disco:discovery>
discovery 요소에서 서비스 설명, XSD 스키마 및 기타 검색 문서에 대한 참조를 추가합니다.
공개하려는 참조를 원하는 만큼 추가할 수 있습니다. 서비스 설명 참조는 검색 문서에서
https://schemas.xmlsoap.org/disco/scl/
XML 네임스페이스를 지정한 contractRef 요소를 추가하여 지정합니다. 마찬가지로 다른 검색 문서 및 XSD 스키마에 대한 참조는 각각 discoveryRef 및 schemaRef XML 요소를 추가하여 지정합니다. XSD 스키마 참조의 경우 XML 네임스페이스https://schemas.xmlsoap.org/disco/schema
를 지정해야 합니다. 세 가지 형식의 참조 문서 모두에 대해 ref 특성을 사용하여 문서 위치를 지정합니다. 다음 코드 예제에는 검색 문서, 서비스 설명 및 XSD 스키마에 대한 참조가 있습니다.<?xml version="1.0"?> <discovery xmlns="https://schemas.xmlsoap.org/disco/"> <discoveryRef ref="/Folder/Default.disco"/> <contractRef ref="http://MyWebServer/UserName.asmx?WSDL" docRef="Service.htm" xmlns="https://schemas.xmlsoap.org/disco/scl/"/> <schemaRef ref="Schema.xsd" xmlns="https://schemas.xmlsoap.org/disco/schema/"/> </discovery>
참조는 discoveryRef 요소에 표시된 것처럼 검색 문서가 위치한 디렉터리에 상대적이거나, contractRef 요소에 표시된 것처럼 URI에 상대적일 수 있습니다.
검색 문서를 웹 서버의 가상 디렉터리에 복사하여 웹 서버에 배포합니다.
문서를 지정하지 않고 IIS 응용 프로그램을 지정하여 사용자들이 URL을 탐색할 수 있도록 하기 위해 IIS 응용 프로그램의 기본 페이지에 대한 링크를 추가할 수도 있습니다. 그러면 사용자들이 검색 문서의 이름을 몰라도 된다는 이점이 있습니다. 검색 과정에서 다음과 같이 URL을 제공할 수 있습니다.
http://MyWebServer/MyWebApplication
웹 응용 프로그램의 기본 페이지가 HTML 페이지인 경우 웹 서버에 대한 기본 웹 페이지의 head 요소에 검색 문서에 대한 링크를 추가합니다. 예를 들어, 검색 문서의 이름을
MyWebService.disco
로 지정하고 기본 페이지와 동일한 디렉터리에 저장한 경우 기본 웹 페이지에 다음 요소를 추가해야 합니다.<HEAD> <link type='text/xml' rel='alternate' href='MyWebService.disco'/> </HEAD>
웹 응용 프로그램의 기본 페이지가 XML 문서인 경우 웹 서버에 대한 기본 웹 페이지의 head 요소에 검색 문서에 대한 링크를 추가합니다. 예를 들어, 검색 문서의 이름을
MyWebService.disco
로 지정하고 기본 페이지와 동일한 디렉터리에 저장한 경우 기본 페이지의 맨 위에 다음을 추가해야 합니다.<?xml-stylesheet type="text/xml" alternate="yes" href="MyWebService.disco" ?>
웹 서비스에 대해 동적 검색이 가능하도록 설정하려면
웹 서비스에 대해 동적 검색이 가능하도록 설정하려면 machine.config 파일을 수정하여 다음 <add> 요소를 추가합니다. type 특성은 한 줄로 입력해야 하므로 다음 예제에서 줄 바꿈은 무시하십시오.
<configuration> <system.web> <httpHandlers> <add verb="*" path="*.vsdisco" type="System.Web.Services.Discovery.DiscoveryRequestHandler, System.Web.Services, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> </httpHandlers> </system.web> </configuration>
참고: 동적 검색을 가능하게 설정하면 웹 서버에서 요청된 URL 아래에 있는 모든 웹 서비스와 검색 문서를 검색할 수 있습니다. 따라서 웹 서비스가 방화벽 및 기타 보안 기능을 사용하지 않는 네트워크에 있을 경우 중요한 데이터가 공개될 수 있으므로 동적 검색을 가능하게 설정할 때는 주의를 기울여야 합니다.
참고 항목
개념
XML Web services 게시 및 배포
ASP.NET을 사용하여 만든 XML Web services에 대한 구성 옵션