Web service server 는 Apache CXF로 구현하고, Client는 ASP로 운영을 하겠다고 하는데..
좀 더러운건.. Asp 테스트 프로그램까지 만들어 줘야 한다는거..
뭐 테스트를 위해서 찾게된 넘이 MSSOAP라는 넘이다. 요넘 뭐가 이렇게 복잡한지 처음에는 도통 알아 먹기가 힘든지 쩌ㅃ~
자 우선은 high, low level 로 구현할 수 있다고 하는데.. 뭐 당연히 상위레벨이 구현은 편하기는 하더라.. 대신 파라메터를 Object로 입력받으면 어쩔수 없이 하위레벨로 구현을 해야 한다.
밑에 넘이 하위 레벨로 구현한 넘이다.

<%
 
    set Serializer       = Server.CreateObject("MSSOAP.SoapSerializer30")
    set Reader          = Server.CreateObject("MSSOAP.SoapReader30")
    Set Connector    = Server.CreateObject("MSSOAP.HttpConnector30")
 
    Connector.Property("EndPointURL") = "http://localhost:8080/star_map_sp/StarMapService/SOAP?wsdl"
    Connector.Connect
    Connector.Property("SoapAction") = "uri:KHAA01"
    Connector.BeginMessage

    Set Serializer = Server.CreateObject("MSSOAP.SoapSerializer30")
    Serializer.Init Connector.InputStream
    Serializer.StartEnvelope
    Serializer.StartBody
    Serializer.StartElement "MethodName"        '요넘 이 메소드 명
    Serializer.StartElement "RootElementName"  ' XML root  element
    Serializer.StartElement "ElementName"
    Serializer.WriteString "value"
    Serializer.EndElement
    Serializer.StartElement "ElementsName"
    Serializer.WriteString "value"
    Serializer.EndElement
    Serializer.EndElement
    Serializer.EndElement
    Serializer.EndBody
    Serializer.EndEnvelope
 
    Connector.EndMessage

    Reader.Load Connector.OutputStream
  
    Set oNodeList = Reader.RPCParameter("KHAA01Res").childNodes

    For x=1 to oNodeList.length
            Set obj = oNodeList.Item(x-1)
          
            if(obj.baseName = "test") then
                Response.Write obj.baseName
          Response.Write "  :  "
          Response.Write obj.text
      elseif(obj.baseName = "object") then
          Response.Write "<BR><BR>"
          Response.Write obj.baseName
          Response.Write "<BR>"
          Set childList = obj.childNodes      
          For i=1 to childList.length
              Response.Write childList.Item(i-1).baseName
              Response.Write "  :  "
              Response.Write childList.Item(i-1).text
              Response.Write "<BR>"
          Next
      end if   
      Response.Write "<BR>"
   Next

%>

대충 보면 Connect로 URL과 메소드명을 설정하고, Serializer 로 입력 파라메터를 구현한다.
뭐.. 수신한 데이터는 알아서 사용하면 됨.

'VBS' 카테고리의 다른 글

[VBS] - BASE64 String to Image  (0) 2010.06.25
Posted by 짱가쟁이