연습: 웹 서비스 디자인
업데이트: 2007년 11월
이 연습에서는 Visual Studio Team System Architecture Edition의 응용 프로그램 디자이너를 사용하여 웹 서비스를 디자인할 때의 주요 사항을 보여 줍니다. 이 연습에서는 다음 작업을 수행하는 방법을 설명합니다.
기존 웹 서비스에 대한 작업 정의
웹 서비스 구현
외부 웹 서비스(솔루션 외부의 웹 서비스) 추가 및 해당 웹 서비스의 웹 메서드 보기
외부 웹 서비스를 다른 응용 프로그램에 연결
이 연습에서는 소개 연습 항목 연습: 응용 프로그램 다이어그램에서 응용 프로그램 정의에 표시된 개념에 대해 설명합니다.
카탈로그 웹 서비스에 대한 작업을 정의하려면
https://go.microsoft.com/fwlink/?LinkId=40867에서 제공하는 샘플을 로드합니다.
Catalog.ad 파일을 두 번 클릭하여 응용 프로그램 다이어그램을 엽니다.
응용 프로그램 디자이너에 응용 프로그램 다이어그램이 표시됩니다.
카탈로그에서 GetLegacyInfo 끝점을 마우스 오른쪽 단추로 클릭한 다음 작업 정의를 선택하여 웹 서비스 정보 창을 표시합니다.
웹 서비스 정보 창에서 <작업 추가>를 클릭하고 GetProductDetails를 입력합니다.
형식에 ProductDetails를 입력합니다.
여기에 입력한 작업 형식은 작업의 반환 형식을 지정합니다.
GetProductDetails 왼쪽의 더하기 기호(+)를 확장하여 매개 변수를 작업에 추가합니다.
<매개 변수 추가>를 클릭하고 ProductNumber를 입력합니다. 형식에 정수를 입력합니다.
참고: 형식 열에 입력하기 시작하면 Visual Studio에서 사용 가능한 형식의 목록을 표시합니다.
이 작업은 정수 제품 번호를 가져와서 ProductDetails 구조를 반환합니다.
정의된 작업은 기본적으로 요청 응답입니다. 이 속성을 변경하는 방법에 대한 자세한 내용은 방법: ASP.NET 웹 서비스에 대한 단방향 또는 요청-응답 작업 지정을 참조하십시오.
프로젝트 속성을 설정하고 카탈로그 웹 서비스를 구현하려면
카탈로그 응용 프로그램에서 CatalogWebService 끝점을 클릭합니다.
속성 창을 표시합니다.
WSDL Binding Name 속성을 Catalog로 변경합니다.
WSDL 바인딩 네임스페이스 속성을 http://Adventureworks/Products로 변경합니다.
카탈로그 응용 프로그램을 클릭하고 해당 언어 속성을 Visual C#으로 변경합니다.
참고: Visual Studio를 사용하여 모든 언어를 설치한 경우 이 속성 값의 기본값은 Visual Basic입니다.
카탈로그 응용 프로그램을 선택한 상태에서 다이어그램 메뉴에서 구현을 가리킨 다음 응용 프로그램 구현을 클릭합니다.
응용 프로그램 구현 확인 대화 상자가 나타납니다.
카탈로그 응용 프로그램에 대한 구현 정보를 검토한 후 확인을 클릭합니다.
구현 프로세스에서는 해당 웹 참조를 사용하여 응용 프로그램에 대한 프로젝트를 생성합니다. 구현이 완료되면 응용 프로그램에 그림자가 표시됩니다.
참고: 보안 경고 대화 상자가 나타나면 닫기를 클릭합니다. 이 대화 상자는 응용 프로그램 다이어그램의 데이터베이스에 대한 데이터베이스 연결 문자열이 암호화되지 않은 일반 텍스트 형식으로 구성 파일에 작성되고 있음을 나타냅니다.
솔루션 탐색기에서 프록시 클래스 및 웹 참조를 검토합니다.
CatalogWebService.cs 파일을 열고 ProductDetails 웹 메서드에 대한 코드를 봅니다.
Visual Studio에서 WSDL 바인딩 이름 및 네임스페이스를 설정했으며 메서드 시그니처를 만들었는지 확인합니다.
코드에서 작업 이름을 GetProductDetails에서 GetProductInformation으로 변경합니다.
CatalogWebService 끝점을 클릭하고 웹 서비스 정보 창을 표시합니다.
코드의 웹 메서드 시그니처에 대한 변경 내용을 반영하도록 웹 서비스 정보 창의 작업 이름이 변경되었습니다. 코드에서 변경된 내용은 웹 서비스 정보 창에 자동으로 반영되며 그 반대의 경우도 마찬가지입니다.
외부 웹 서비스를 추가하고 웹 메서드를 보려면
도구 상자를 열고 ExternalWebService를 응용 프로그램 다이어그램으로 끕니다.
웹 참조 추가 대화 상자가 나타납니다.
로컬 컴퓨터에서 LegacyCatalog.wsdl의 위치를 찾습니다.
URL 상자에 해당 위치를 입력하고 이동을 클릭합니다.
WSDL 파일이 정의하는 메서드와 함께 WSDL 파일에 대한 설명이 표시됩니다.
참조 추가를 클릭합니다.
응용 프로그램 다이어그램에 외부 웹 서비스가 표시됩니다.
GetLegacyInfo 끝점을 클릭합니다.
보기 메뉴에서 다른 창을 가리키고 웹 서비스 정보를 클릭하여 웹 서비스 정보 창을 표시합니다.
웹 서비스 정보 창에 표시된 웹 메서드를 검사합니다.
이 특정 WSDL 파일에는 레거시 카탈로그의 정보에 액세스하기 위한 메서드가 포함되어 있습니다.
외부 웹 서비스를 카탈로그 웹 서비스와 연결하려면
Alt 키를 누른 상태로 외부 웹 서비스의 GetLegacyInfo 끝점을 카탈로그 응용 프로그램의 테두리로 끕니다.
그러면 카탈로그 응용 프로그램이 LegacyInfo에서 제공하는 서비스를 소비함을 나타내는 소비자 끝점이 카탈로그에 만들어집니다. 카탈로그 응용 프로그램이 구현되면 Visual Studio에서는 GetLegacyInfo 끝점에 정의된 웹 메서드에 대한 프록시 클래스를 생성합니다.
또한 Visual Studio에서는 외부 웹 서비스에 대한 .sdm 파일을 솔루션에 추가합니다. 이 파일에는 이 응용 프로그램에 대한 SDM 정의가 포함되어 있습니다. 자세한 내용은 SDM 개요를 참조하십시오.
다음 단계
다음 단계에서는 웹 서비스 끝점을 사용하여 더 많은 작업을 수행합니다. 자세한 내용은 연습: 계약 구동 방식 웹 서비스 디자인 - 끝점 만들기를 참조하십시오.