웹 서비스 프록시 만들기Creating the Web Service Proxy

클라이언트와 웹 서비스는 입력 및 출력 매개 변수를 XML로 캡슐화하는 SOAP 메시지를 사용하여 통신할 수 있습니다.A client and a Web service can communicate using SOAP messages, which encapsulate the input and output parameters as XML. 프록시 클래스는 매개 변수를 XML 요소에 매핑한 다음 네트워크를 통해 SOAP 메시지를 보냅니다.A proxy class maps parameters to XML elements and then sends the SOAP messages over a network. 이와 같이 프록시 클래스 덕분에 SOAP 수준에서 웹 서비스와 통신할 필요가 없으며 SOAP 및 웹 프록시를 지원하는 임의의 개발 환경에서 웹 서비스 메서드를 호출할 수 있습니다.In this way, the proxy class frees you from having to communicate with the Web service at the SOAP level and allows you to invoke Web service methods in any development environment that supports SOAP and Web service proxies.

MicrosoftMicrosoft .NET Framework.NET Framework를 사용하여 개발 프로젝트에 프록시 클래스를 추가하는 방법에는 .NET Framework.NET Framework에서 WSDL 도구를 사용하는 방법과 MicrosoftMicrosoft Visual StudioVisual Studio에서 웹 참조를 추가하는 방법이 있습니다.There are two ways to add a proxy class to your development project using the MicrosoftMicrosoft .NET Framework.NET Framework: with the WSDL tool in the .NET Framework.NET Framework, and by adding a Web reference in MicrosoftMicrosoft Visual StudioVisual Studio. 다음 섹션에서는 이 두 가지 방법에 대해 자세히 설명합니다.The following sections discuss this subject in further detail.

WSDL 도구를 사용하여 프록시 추가Adding the Proxy Using the WSDL Tool

.NET Framework.NET Framework SDK에는 .NET Framework.NET Framework 개발 환경에서 사용할 웹 서비스 프록시를 생성할 수 있는 WSDL(웹 서비스 기술 언어) 도구(Wsdl.exe)가 포함되어 있습니다.The .NET Framework.NET Framework SDK includes the Web Services Description Language tool (Wsdl.exe), which enables you to generate a Web service proxy for use in the .NET Framework.NET Framework development environment. 웹 서비스를 지원하는 언어(현재 C# 및 MicrosoftMicrosoft Visual BasicVisual Basic)로 클라이언트 프록시를 생성하는 가장 일반적인 방법은 WSDL 도구를 사용하는 것입니다.The most common way to create a client proxy in languages that support Web services (currently C# and MicrosoftMicrosoft Visual BasicVisual Basic) is to use the WSDL tool.

Wsdl.exe를 사용하여 프록시 클래스를 프로젝트에 추가하려면To add a proxy class to your project using Wsdl.exe

  1. 명령 프롬프트에서 Wsdl.exe를 사용하여 (최소한) URL을 보고서 서버 웹 서비스에 지정함으로써 프록시 클래스를 만듭니다.From a command prompt, use Wsdl.exe to create a proxy class, specifying (at a minimum) the URL to the Report Server Web service.

    예를 들어 다음 명령 프롬프트 문은 보고서 서버 웹 서비스의 관리 끝점에 대한 URL을 지정합니다.For example, the following command prompt statement specifies a URL for the management endpoint of the Report Server Web service:

    wsdl /language:CS /n:"Microsoft.SqlServer.ReportingServices2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl  
    

    WSDL 도구에서는 프록시 생성을 위해 다수의 명령 프롬프트 인수를 사용합니다.The WSDL tool accepts a number of command-prompt arguments for generating a proxy. 위의 예에서는 C# 언어 및 웹 서비스 끝점을 두 개 이상 사용하는 경우 이름 충돌 방지를 위해 프록시에 사용하도록 제안된 네임스페이스를 지정하고 ReportingService2010.cs라는 C# 파일을 생성합니다.The preceding example specifies the language C#, a suggested namespace to use in the proxy (to prevent name collision if using more than one Web service endpoint), and generates a C# file called ReportingService2010.cs. 이 예에서 Visual BasicVisual Basic을 지정한다면 이름이 ReportingService2010.vb인 프록시 파일을 생성하게 됩니다.If the example had specified Visual BasicVisual Basic, the example would have generated a proxy file with the name ReportingService2010.vb. 이 파일은 명령을 실행하는 위치인 디렉터리에 만들어집니다.This file is created in the directory from which you run the command.

  2. 프록시 클래스를 어셈블리 파일(확장명 .dll)에 컴파일하고 이 클래스를 프로젝트에서 참조하거나 프로젝트 항목으로 추가합니다.Compile the proxy class into an assembly file (with the extension .dll) and reference it in your project, or add the class as a project item.

    참고

    프록시 클래스를 수동으로 프로젝트에 추가할 경우 System.Web.Services.dll에 대한 참조를 추가해야 합니다.When you add a proxy class to your project manually, you need to add a reference to System.Web.Services.dll. Visual Studio .NET에서 웹 참조를 사용하여 프록시를 추가하는 경우에는 참조가 자동으로 만들어집니다.If you add the proxy using a Web reference in Visual Studio .NET, the reference is automatically created for you. 자세한 내용은 이 항목의 후반에 나오는 "Visual Studio에서 웹 참조를 사용하여 프록시 추가"를 참조하십시오.For more information, see "Adding the Proxy Using a Web Reference in Visual Studio" later in this topic.

    프록시 클래스를 프로젝트에 항목으로 추가하면 연결된 파일이 솔루션 탐색기에 나타납니다.After you add the proxy class as an item to your project, the associated file appears in Solution Explorer.

  3. 서비스를 프로그래밍 방식으로 호출하려면 프록시 클래스의 인스턴스를 만듭니다.To call the service programmatically, create an instance of the proxy class.

    다음 코드 예제는 프로젝트에서 ReportingService2010 프록시 클래스의 인스턴스를 만들기 위한 구문을 보여 줍니다.The following code example shows the syntax for creating an instance of the ReportingService2010 proxy class in a project:

Dim service As New ReportingService2010()  
ReportingService2010 service = new ReportingService2010();  

전체 구문을 포함하여 Wsdl.exe 도구에 대한 자세한 내용은 .NET Framework.NET Framework SDK 설명서의 "WDSL 도구(Web Services Description Language Tool)"를 참조하십시오.For more information about the Wsdl.exe tool, including its full syntax, see "Web Services Description Language Tool" in the .NET Framework.NET Framework SDK documentation. 웹 서비스 프록시에 대한 자세한 내용은 .NET Framework.NET Framework SDK 설명서의 "XML 웹 서비스 프록시 만들기(Creating an XML Web Service Proxy)"를 참조하십시오.For a full explanation of Web service proxies, see "Creating an XML Web Service Proxy" in the .NET Framework.NET Framework SDK documentation.

Visual Studio에서 웹 참조를 사용하여 프록시 추가Adding the Proxy Using a Web Reference in Visual Studio

웹 참조를 통해 프로젝트에서 웹 서비스를 하나 이상 사용할 수 있습니다.A Web reference enables a project to consume one or more Web services. Visual StudioVisual Studio에서는 사용자가 다음의 간단한 단계를 수행하여 웹 서비스 참조를 프로젝트에 추가할 수 있습니다. enables users to add Web service references to projects by following a few simple steps.

프로젝트에 웹 참조를 추가하려면To add a Web reference to a project

  1. 솔루션 탐색기에서 웹 서비스가 사용될 프로젝트를 선택합니다.In Solution Explorer, select the project that will consume the Web service.

  2. 프로젝트 메뉴에서 웹 참조 추가를 클릭합니다.On the Project menu, click Add Web Reference.

    웹 참조 추가 대화 상자가 열립니다.The Add Web Reference dialog box opens.

  3. URL 필드에 보고서 서버 웹 서비스에 대한 전체 경로를 입력합니다.In the URL field, enter the complete path to the Report Server Web service.

    보고서 서버 웹 서비스의 보고서 실행 끝점에 대한 간단한 URL은 다음과 같습니다.A simplified URL for the report execution endpoint of the Report Server Web service might look like this:

    http://<Server Name>/reportserver/reportexecution2005.asmx  
    

    URL에는 보고서 서버 웹 서비스가 배포된 도메인, 서비스가 포함된 폴더의 이름 및 서비스에 대한 검색 파일의 이름이 포함됩니다.The URL contains the domain in which the Report Server Web service is deployed, the name of the folder containing the service, and the name of the discovery file for the service. 다양한 URL 요소에 대한 자세한 내용은 SOAP API 액세스를 참조하세요.For a complete description of the different URL elements, see Accessing the SOAP API.

    웹 서비스에서 제공하는 메서드 및 속성에 대한 설명은 왼쪽의 브라우저 창에 나타납니다.A description of the methods and properties provided by the Web service appears in the Browser pane on the left.

    참고

    보고서 서버 웹 서비스와 연관된 항목에 대한 자세한 내용은 보고서 서버 웹 서비스 메서드를 참조하세요.For more information about the items associated with the Report Server Web service, see Report Server Web Service Methods.

  4. 프로젝트에서 보고서 서버 웹 서비스를 사용할 수 있고 보고서 서버에 액세스할 수 있는 충분한 권한이 있는지 확인합니다.Verify that your project can use the Report Server Web service, and that you have appropriate permission to access the report server.

  5. 보고서 서버 웹 서비스에 프로그래밍 방식으로 액세스하기 위해 코드에 사용할 이름을 웹 참조 이름 필드에 입력합니다.In the Web reference name field, enter a name that you will use in your code to access the Report Server Web service programmatically.

  6. 참조 추가 단추를 선택하여 웹 서비스에 대한 응용 프로그램의 참조를 만듭니다.Select the Add Reference button to create a reference in your application to the Web service.

    새 참조가 솔루션 탐색기에서 활성 프로젝트에 대한 Web References 노드 아래에 웹 참조 이름 필드에 지정한 이름으로 나타납니다.The new reference appears in Solution Explorer under the Web References node for the active project, named as specified in the Web reference name field.

  7. 솔루션 탐색기에서 Web References 폴더를 확장하여 프로젝트의 항목에서 사용 가능한 웹 참조 클래스에 대한 네임스페이스를 확인합니다.In Solution Explorer, expand the Web References folder to note the namespace for the Web reference classes that are available to the items in your project.

    프로젝트에 웹 참조를 추가하면 연결된 파일이 솔루션 탐색기 Web References 폴더 내의 폴더에 표시됩니다.After adding a Web reference to your project, the associated files are displayed in a folder within the Web References folder of Solution Explorer.

    웹 참조를 추가한 후 다음 구문을 사용하여 프록시 클래스의 인스턴스를 만듭니다.After you add the Web reference, use the following syntax to create an instance of the proxy class:

Dim rs As New myNamespace.myReferenceName.ReportExecutionService()  
rs.Url = "http://<Server Name>/reportserver/reportexecution2005.asmx?wsdl"  
rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
myNamespace.myReferenceName.ReportExecutionService rs = new myNamespace.myReferenceName.ReportExecutionService();  
rs.Url = "http://<Server Name>/reportserver/reportexecution2005.asmx?wsdl"  
rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

using( Visual BasicVisual Basic의 경우 Import) 지시문을 보고서 서버 웹 서비스 참조에 추가할 수도 있습니다.You can also add a using (Import in Visual BasicVisual Basic) directive to the Report Server Web service reference. 이 지시문을 사용할 경우에는 네임스페이스에서 형식을 정규화하지 않아도 됩니다.If you use this directive, you do not need to fully qualify the types in the namespace. 이렇게 하려면 다음 코드를 파일에 추가합니다.To do this, add the following code to your file:

Import myNamespace.myReferenceName  
using myNamespace.myReferenceName;  

관련 항목:See Also

보고서 서버 웹 서비스 Report Server Web Service
웹 서비스와 .NET Framework를 사용하여 응용 프로그램 빌드 Building Applications Using the Web Service and the .NET Framework
기술 참조(SSRS)Technical Reference (SSRS)