[닷넷 웹서비스 예제] Visual Studio에서 웹서비스 만들기 ②


  Last Modified 2007/12/27
  by ides
  http://tequiero35.egloos.com/

  ** Environment : Visual Studio 2008
                               .NET Framework 3.5



★ Web Service 사용하기



생성한 서비스를 사용, 참조할 사이트를 생성할 것이다.

생성된 서비스 메서드를 시작하는 페이지를 가진 독립된 사이트를 생성할 것이다.


 



1. [File] > [New] > [Web Site]


cf. Visual Studio 2005 에서 웹 사이트 생성하는 방법


2. TempWebClientTest 이름으로 사이트를 생성한다.


3. 생성된 프로젝트


  + Code-Behind Page Model
    코드 비하인드 파일은 markup 으로 이루어진 파일 (.aspx)프로그램으로 이루어진 파일 (.cs) 로 이루어진다.
    코드와 디자인이 분리된 모델이다.


4. 서비스를 참조하기 위해 WebSite 마우스 우클릭하고 [Add Web Reference] 클릭한다.


URL 형식
  • http://DomainName/WebServiceName/DiscoveryFile.asmx
    (마지막의 파일은 .axml, .wsdl, .disco, .xsd 도 올 수 있다.)

Start Browsing for Web Services

  • Web services in this solution : 현재 솔루션 안에 있는 이용가능한 서비스 리스트.
  • Web services on the local machine : 로컬 컴퓨터에서 이용가능한 서비스와 discovery document 리스트. (IIS 같은 서버가 로컬 컴퓨터에서 작동 중이어야 한다.)
  • Browse UDDI Servers on the local network : UDDI 프로토콜을 사용하는 서비스와 discovery document 제공하는 로컬영역네트워크 안에서 이용 가능한 서버 리스트

Web services found at this URL

  • 특정 URL에서 찾을 있는 서비스 리스트. 원하는 서비스에 마우스를 올리면 URL 툴팁에 나타난다.

Web reference name

  • 선택된 서비스에 액세스하기 위해 코드에서 사용할 특별한 이름을 지정한다. 기본적으로 서버 이름이 지정된다.
  • Web reference name 으로 올 수 없는 것.
    • / ? : \ * " < > or | 는 포함할 수 없다.
    • Unicode control characters 는 포함한다.
    • "CON", "AUX", "PRN", "COM1" and "LPT2" 는 예약어이다.
 cf. see Locating XML Web Services and WSDL File Generation for ASP.NET Web Services.


5.URL 란에 http://localhost/TempWebServiceTest/Convert.asmx 입력한다.

    Web reference name 은 기본적으로 적혀있는 localhost 그대로 두고 테스트할 것이다.
 


6. 생성된 App_WebReference


  • Convert.disco / Convert.discomap  :discovery 파일. 서비스 위치 정보 포함.
  • Convert.wsdl : 웹 서비스 참조.
+ disco는 WSDL 문서와 연결하는 역할을 하므로 어디에 있어도 상관없다.
  WSDL도 웹 서비스를 정확히 기술하기만 하면 마찬가지.



7. Default.aspx 페이지를 열고 Design view 전환한 , 아래 그림처럼 디자인한다.
   Textbox, Button, Lable 은 Toolbox Standard 그룹에서 그 아래의 표대로 Control 을 형성한다.


Control

Properties

Textbox

ID: TemperatureTextbox

Text: (empty)

Button

ID: ConvertButton

Text: Convert

Label

ID: FahrenheitLabel

Text: (empty)

Label

ID: CelsiusLabel

Text: (empty)


   + Tip :툴바에 글씨체나 크기 변경 등의 아이콘이 없다면 Menu > View > Toolbars > Formatting 을 클릭한다.
               Properties 는 F4 를 누르면 활성화된다.
               ToolBox 가 없다면 Ctrl + W + X 버튼을 누르면 나타난다.
               

8.
클릭 이벤트를 위한 event handler 생성하기 위해 [Convert] 버튼을 더블클릭하면

   Default.aspx.cs 파일의 해당 부분이 나타난다.

   다음 코드를 입력하고 저장한다.

protected void ConvertButton_Click(object sender, EventArgs e)

{

   localhost.Convert wsConvert = new localhost.Convert();

   double temperature = System.Convert.ToDouble(TemperatureTextbox.Text);


  
FahrenheitLabel.Text = "Fahrenheit To Celsius = " +

wsConvert.FahrenheitToCelsius(temperature).ToString();

   CelsiusLabel.Text = "Celsius To Fahrenheit = " +

wsConvert.CelsiusToFahrenheit(temperature).ToString();

}



9. 실행한다.



10. Temperature 란에 100 을 입력하고 Convert 버튼을 누르면 아래와 같이 뜨는지 확인한다.
 





<REFERENCE>
http://msdn2.microsoft.com/en-us/library/8wbhsy70.aspx
http://msdn2.microsoft.com/en-us/library/8dcbc50t.aspx

by ides | 2007/12/27 19:50 | [P] Web Services | 트랙백 | 덧글(0)

트랙백 주소 : http://tequiero35.egloos.com/tb/1197756
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶