다음을 통해 공유


방법: XML Web services의 검색을 사용하도록 설정

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.

다음과 같은 방법으로 웹 서비스를 잠재적 클라이언트에 게시할 수 있습니다.

  • 파일 확장명이 .disco인 XML 검색 파일을 사용합니다.

  • .vsdisco 확장명을 지정하는 URL을 사용합니다.

  • ?DISCO 쿼리 문자열을 통해 웹 서비스를 사용합니다.

이 항목에서는 위의 방법 중 처음 두 개의 검색 메커니즘을 설정하는 방법을 보여 줍니다. ?DISCO 쿼리 문자열을 통해 웹 서비스에 대한 요청을 활성화하는 방법은 기본적으로 사용할 수 있으므로 이 항목에서 다루지 않습니다. 이 옵션에 대한 자세한 내용은 XML Web services 게시 및 배포를 참조하십시오.

웹 서비스에 대한 정적 검색 문서를 게시하려면

  1. 원하는 편집기에서 XML 문서를 만들어 ?xml version="1.0" ? 요소를 첫 줄에 추가합니다.

  2. XML 문서에서 discovery 요소를 다음과 같이 추가합니다.

    <disco:discovery xmlns:disco="https://schemas.xmlsoap.org/disco/">
    </disco:discovery>
    
  3. discovery 요소에서 서비스 설명, XSD 스키마 및 기타 검색 문서에 대한 참조를 추가합니다.

    공개하려는 참조를 원하는 만큼 추가할 수 있습니다. 서비스 설명 참조는 검색 문서에서 https://schemas.xmlsoap.org/disco/scl/ XML 네임스페이스를 지정한 contractRef 요소를 추가하여 지정합니다. 마찬가지로 다른 검색 문서 및 XSD 스키마에 대한 참조는 각각 discoveryRefschemaRef 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에 상대적일 수 있습니다.

  4. 검색 문서를 웹 서버의 가상 디렉터리에 복사하여 웹 서버에 배포합니다.

  5. 문서를 지정하지 않고 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" ?>
    

웹 서비스에 대해 동적 검색이 가능하도록 설정하려면

  1. 웹 서비스에 대해 동적 검색이 가능하도록 설정하려면 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>
    
    tewz1055.note(ko-kr,VS.100).gif참고:
    동적 검색을 가능하게 설정하면 웹 서버에서 요청된 URL 아래에 있는 모든 웹 서비스와 검색 문서를 검색할 수 있습니다. 따라서 웹 서비스가 방화벽 및 기타 보안 기능을 사용하지 않는 네트워크에 있을 경우 중요한 데이터가 공개될 수 있으므로 동적 검색을 가능하게 설정할 때는 주의를 기울여야 합니다.

참고 항목

개념

XML Web services 게시 및 배포
ASP.NET을 사용하여 만든 XML Web services에 대한 구성 옵션

기타 리소스

ASP.NET을 사용하는 XML Web services