다음을 통해 공유


ASP.NET XML Web services 기본 사항

ASP.NET은 웹 서비스의 내부 작업을 위한 인프라를 제공하기 때문에 개발자는 특정 웹 서비스의 기능을 구현하는 데 집중할 수 있습니다. ASP.NET을 사용하여 웹 서비스를 실행하려면 .asmx라는 확장명을 가진 파일을 만들고, 이 파일과 가능한 다른 파일에서 웹 서비스를 선언한 다음 웹 서비스 메서드를 정의해야 합니다. 이 절차는 연습: ASP.NET을 사용하여 기본적인 XML Web Service 빌드에 나와 있으며 여기서 자세한 설명을 제공합니다.

웹 서비스 선언

ASP.NET에서 웹 서비스를 만들 경우 .asmx라는 확장명을 가진 텍스트 파일의 맨 위에 필수 @ WebService 지시문을 추가합니다. @ WebService 지시문이 지정된 .asmx 파일이 있으면 웹 서비스의 URL 주소가 해당 구현에 연결됩니다. 또한 웹 서비스 클라이언트에 표시되는 메서드 및 데이터 형식을 정의하는 웹 서비스 클래스를 구현합니다.

정의한 웹 서비스 클래스를 .asmx 파일이나 별도의 파일에 직접 포함할 수 있습니다. 별도의 파일을 사용할 경우 파일을 어셈블리로 컴파일해야 합니다. 웹 서비스를 구현하는 클래스에 WebService 특성을 선택적으로 적용할 수 있습니다. 웹 서비스를 구현하는 클래스는 WebService 클래스에서 파생될 수 있습니다.

웹 서비스를 구현하는 클래스에 WebService 특성을 선택적으로 적용하여 웹 서비스를 설명하는 문자열과 함께 웹 서비스에 대한 기본 XML 네임스페이스를 설정할 수 있습니다. 웹 서비스를 공개적으로 사용할 수 있도록 하기 전에 이 기본 네임스페이스(http://tempuri.org)를 변경하는 것이 좋습니다. 그 이유는 네임스페이스를 기본값(<http://tempuri.org/>)으로 잘못 사용할 수 있는 다른 웹 서비스와 구분해야 하기 때문입니다.

ASP.NET을 사용하여 만든 웹 서비스를 구현하는 클래스는 Application, Session, UserContext와 같은 공통 ASP.NET 개체에 액세스하도록 WebService 클래스에서 선택적으로 파생시킬 수 있습니다. ApplicationSession 속성을 사용하면 웹 응용 프로그램 또는 특정 세션의 수명 동안 저장 및 수신 상태에 액세스할 수 있습니다. 상태 관리에 대한 자세한 내용은 방법: ASP.NET을 사용하여 만든 웹 서비스에서 상태 관리를 참조하십시오. User 속성에는 웹 서비스 호출자의 ID가 포함되어 있습니다(인증을 사용하는 경우). 웹 서비스에서는 이 ID를 사용하여 요청 권한 부여 여부를 결정할 수 있습니다. 인증에 대한 자세한 내용은 XML Web Services에 보안 설정을 참조하십시오. Context 속성을 사용하면 웹 서비스 클라이언트의 요청에 대한 모든 HTTP 관련 정보에 액세스할 수 있습니다. Context 속성에 대한 자세한 내용은 WebService.Context 속성을 참조하십시오.

웹 서비스 메서드 정의

웹 서비스를 구현하는 클래스의 메서드는 웹 서비스 요청 수신 및 응답 회신을 자동으로 수행할 수 없지만, ASP.NET으로 만든 웹 서비스를 사용하여 이 기능을 쉽게 추가할 수 있습니다. WebMethod 특성을 public 메서드에 추가합니다. 웹을 통해 통신할 수 있는 웹 서비스 클래스의 메서드를 웹 서비스 메서드라고 합니다.

웹 서비스 메서드는 웹 서비스에 사용되는 메시징 인프라에서 중요한 역할을 합니다. 즉, 클라이언트와 웹 서비스는 메시지 특히, SOAP 메시지를 사용하여 기본적으로 통신합니다. 클라이언트는 웹 서비스에 SOAP 요청을 보내고 웹 서비스 메서드는 일반적으로 SOAP 응답을 반환합니다. 웹 서비스는 WSDL(웹 서비스 기술 언어)에 정의된 대로 작업을 사용하여 허용하는 메시지 형식을 정의합니다. 이러한 작업은 웹 서비스 내의 각 웹 서비스 메서드에 연결됩니다. 각 웹 서비스 메서드는 클래스의 메서드를 사용하여 ASP.NET에서 정의되지만, 네트워크를 통해 통신하는 데이터를 XML로 serialize해야 합니다. 이와 같이 웹 서비스는 DCOM의 대체 인터페이스가 아니라 산업 표준을 사용하여 플랫폼 간에 통신하기 위한 메시징 인프라입니다.

참고 항목

작업

연습: ASP.NET을 사용하여 기본적인 XML Web services 빌드

참조

WebService Class
WebServiceAttribute Class
WebMethodAttribute Class

기타 리소스

ASP.NET을 사용하는 XML Web services

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.