실전! VB에서 SOAP(클라이언트) 사용하기

  • 준비물
    • VB 제작프로그램(비주얼 스투디오 등)
    • SOAP Toolkit 3.0 [다운로드:MSDN]
  • 단어
    • SOAP : Simple Object Access Protocol
      • XML을 사용하여 통신을 할 때에서 전송하는 객체를 그대로 사용할 수 있도록 한다.
      • SOAP에서 객체가 전송될 때 알아서 바꿔서 전송하고, 전송을 받을 때 알아서 바꿔준다.
  • 기초작업
    • SOAP Toolkit 3.0를 인스톨한다
  • SOAP 기초지식
    • SOAP 는 high-level interface ,low-level interface 로 나뉜다
    • high-level interface : WSDL 을 사용하는 것
    • low-level interface : WDSL 없이 직접 XML로 데이터통신하는 것
  • high-level interface 예제
    • set soapclient = CreateObject("MSSOAP.SoapClient30")
      Call soapclient.mssoapinit("DocSample1.wsdl", "TestService1", "TestServicePort")
      wscript.echo  soapclient.AddNumbers(2,3) '웹서비스에 정의된 메소드 호출
  • low-level interface 예제
    • Dim Serializer As SoapSerializer30 '전송할 데이터를 SOAP XML형태로
      Dim Reader As SoapReader30 '받은 데이터를 XML 형태로
      Set Connector = New HttpConnector30 '해당 주소로 연결
      Connector.Property("EndPointURL") = "http://www.xxxx.com/webservice.php"
      Connector.Connect
      Connector.Property("SoapAction") = "uri:" & Method
      Connector.BeginMessage
      Set Serializer = New SoapSerializer30
      Serializer.Init Connector.InputStream
      MsgBox ("SOAP 통신 데이터생성")
      Serializer.StartEnvelope
      Serializer.StartBody
      Serializer.StartElement "getRecommendation", CALC_NS, , "nstemp"
      Serializer.StartElement "data"
      Serializer.WriteString Text1.Text
      Serializer.EndElement
      Serializer.EndElement
      Serializer.EndBody
      Serializer.EndEnvelope
      Connector.EndMessage
      On Error Resume Next
      MsgBox ("SOAP 통신 결과 출력")
      Set Reader = New SoapReader30
      Reader.Load Connector.OutputStream
      richText.Text = Reader.Body.xml
      MsgBox Reader.Body.xml
  • 참고
    • 2005/05/31 이후로 이 툴킷은 업데이트 되지 않는다
    • .net에 SOAP가 기본으로 포함된다.
    • 위 예제는 똑바르게 동작이 안될겁니다. 참고만 하세요.
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자