세이박스

VB6.0에서 ASP.Net을 사용하는 XML 웹 서비스 사용 방법

응용프로그래밍

VB.NET을 이용하여 WEB SERVICE를 만들고 VB6.0에서 SOAP을 이용하여

XML 웹 서비스를 사용하는 방법은 다음과 같다.


 

1.  ASP.NET을 사용하는 WEB SERVICE 만들기

a. Microsoft Visual Studio .NET을 시작합니다.
    파일 메뉴에서 새로 만들기를 누른 다음 프로젝트를 누릅니다.
    새 프로젝트 대화 상자의 프로젝트 형식에서 Visual Basic 프로젝트를 누른 다음
    템플릿에서 ASP .Net 웹 서비스를 누릅니다.
    프로젝트 이름을 SQLQuery라고 지정하고 확인을 누릅니다.
    기본적으로 Service1에 대한 디자인 폼이 나타납니다.

b. 보기 메뉴에서 코드를 눌러 Service1에 대한 코드 창을 표시합니다.

c. 코드 창의 맨 위에 다음 코드를 붙여 넣습니다.
    Imports System.Data.SqlClient

d. Service1 클래스에서 End Class 바로 앞에 다음 코드를 붙여 넣습니다.
   <WebMethod()> Public Function GetIDs() As String()
        Dim i As Integer

        ' Create an open connection.
        Dim oConn As New SqlConnection(strConn)
        oConn.Open()

        Dim oDataset As New System.Data.DataSet
        ' Execute the query.
        Dim oAdapter As New SqlDataAdapter("SELECT au_id FROM authors", oConn)
        ' Fill the dataset.
        oAdapter.Fill(oDataset)

        Dim s(oDataset.Tables(0).Rows.Count - 1) As String
        ' Create an array of IDs.
        For i = 0 To oDataset.Tables(0).Rows.Count - 1
            s(i) = oDataset.Tables(0).Rows(i).ItemArray.GetValue(0)
        Next i
        ' Return the array.
        Return s
    End Function

 

  <WebMethod()> Public Function QueryDatabase(ByVal sID As String) As String()
        Dim i As Integer

        ' Create an open a connection.
        Dim oConn As New SqlConnection(strConn)
        oConn.Open()

        Dim oCommand As New SqlCommand("SELECT * FROM authors WHERE au_id='" + sID + "'", oConn)
        Dim oReader As SqlDataReader
        ' Execute the query and assign results to a SqlDataReader.
        oReader = oCommand.ExecuteReader()
        oReader.Read()

        Dim s(7) As String
        ' Build an array of results.
        For i = 0 To 7
            s(i) = CType(oReader.GetValue(i), String)
        Next
        ' Return the array.
        Return s
    End Function


참고: 코드에서 strConn 상수를 수정하여 SQL Server pubs 데이터베이스에

       대하여 올바른 연결 문자열이 되도록 합니다.



2.  ASP .Net을 사용하는 XML 웹 서비스 만들기 

   F5 키를 눌러 웹 서비스 솔루션을 빌드하고 실행합니다.
   .NET IDE(통합 개발 환경)에서 웹 서비스를 실행하면 Microsoft Internet Explorer는
   사용자 솔루션에서 Service1.asmx를 로드합니다.
   GetIDs 메서드를 테스트합니다.
   이렇게 하려면 GetIDs 하이퍼링크를 누른 다음 호출을 누릅니다. 

   이 메서드는 pubs 데이터베이스에서 웹 서비스가 추출한 제작자 ID 목록을 반환합니다.

   결과는 브라우저에 XML로 표시됩니다. 
   브라우저 창을 닫고 Visual Studio로 돌아갑니다.

   F5 키를 눌러 웹 서비스를 실행합니다.
   QueryDatabase 메서드를 테스트합니다.
   이렇게 하려면 QueryDatabase 하이퍼링크를 누른 다음
   sID 매개 변수에 409-56-7008을 입력하고 호출을 누릅니다.

   이 메서드는 ID 409-56-7008의 제작자에 대한 세부 정보를 반환합니다.
   결과는 브라우저에 XML로 표시됩니다.
   브라우저 창을 닫아 웹 서비스를 종료합니다.



3.  VB6.0 에서 SOAP을 이용하여 WEB SERVICE를 사용합니다.
   (첨부 파일 참조)


* MSDN 참조


* 고정 IP를 서비스하는 업체의 제품을 사용하여 유동 IP를 고정 IP화 하여

    TEST 한 결과 웹 서버, 터미널 서버 등의 기능은 사용할 수 있었으나

    SQL SERVER를 원격지에서 직접 연결하는 TEST는 성공하지 못했다.

   

    위의 방법을 이용하면 VB에서 DB를 사용할 수 있다.

    (자연스럽게 3 Tier 방식이 구현된다.)