방법: 관리 코드의 웹 서비스 액세스
업데이트: 2007년 11월
관리 코드로부터 웹 서비스를 쉽게 액세스할 수 있습니다. 먼저, 액세스할 웹 서비스의 프로젝트에 웹 참조를 추가합니다. 그러면 웹 참조에서 웹 서비스의 노출된 메서드 각각에 대한 프록시 역할을 하는 메서드가 포함된 프록시 클래스가 생성됩니다. 그 다음에는 웹 참조에 대한 네임스페이스를 추가합니다. 마지막으로 프록시 클래스의 인스턴스를 만든 다음 다른 클래스의 메서드에 액세스할 때와 마찬가지로 이 프록시 클래스의 메서드에 액세스합니다. 자세한 내용은 관리 코드의 웹 서비스 액세스를 위한 코드 모델을 참조하십시오.
웹 참조를 추가하면 비동기적으로 웹 서비스에 액세스하기 위해 프록시 클래스에 기본적으로 메서드가 추가됩니다. 자세한 내용은 방법: 관리 코드의 웹 서비스 비동기 액세스를 참조하십시오.
관리 코드의 웹 서비스에 액세스하려면
웹 서비스에 액세스할 응용 프로그램을 만듭니다. 이 응용 프로그램은 다른 웹 서비스일 수도 있습니다.
응용 프로그램이 상호 작용할 웹 서비스에 대한 웹 참조를 추가합니다. 자세한 내용은 웹 참조 추가 및 제거를 참조하십시오.
웹 서비스에 액세스할 클라이언트 코드에서 프록시 개체의 인스턴스를 만듭니다.
다른 구성 요소의 메서드에 액세스할 때와 마찬가지로 웹 서비스의 메서드에 액세스합니다.
아래 예제 코드에서는 클라이언트 응용 프로그램(Application1)이 웹 서비스에 액세스합니다. 이 경우 클라이언트 응용 프로그램에는 프록시 클래스(Service1)가 포함된 웹 참조(Converter)가 있고, 프록시 클래스에는 웹 서비스를 호출하기 위한 메서드(ConvertTemperature)가 있습니다. 굵게 표시된 두 줄은 웹 서비스에 액세스하는 데 필요한 코드입니다.
Imports System Module Module1 Sub Main() Dim cService As New Converter.Service1() Dim dFahrenheit As Double Dim dCelsius As Double Console.Write("Temperature in degrees Fahrenheit: ") dFahrenheit = Convert.ToDouble(Console.ReadLine()) dCelsius = cService.ConvertTemperature(dFahrenheit) Console.Write("Temperature in degrees Celsius: ") Console.WriteLine(dCelsius.ToString()) End Sub End Module
using System; namespace Application1 { class Class1 { static void Main() { Converter.Service1 cService = new Converter.Service1(); Console.WriteLine("Temperature in degrees Fahrenheit: "); double dFahrenheit = Convert.ToDouble(Console.ReadLine()); double dCelsius = cService.ConvertTemperature(dFahrenheit); Console.Write("Temperature in degrees Celsius: "); Console.WriteLine(dCelsius.ToString()); } } }