'VBS'에 해당되는 글 2건

  1. 2010.06.25 [VBS] - MSSOAP 을 사용한 Low level Soap 구현
  2. 2010.06.25 [VBS] - BASE64 String to Image

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 짱가쟁이
2010. 6. 25. 17:33
출처
http://www.freevbcode.com/ShowCode.asp?ID=893
http://www.motobit.com/tips/detpg_Base64/

ASP 에서 Base64로 encoding 된 이미지 데이터를 동적으로 출력하는 코드

Test.asp
<%
Session("contentType") = "image/jpg"
Session("ImageBytes") = Base64ToBSTR(base64String)
%>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<img src='SesProxy.asp' width='300' height='300'>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<%
Function Base64ToBSTR(strBase64)
    Dim Byte1, Byte2, Byte3, Byte4
    Dim Data
    Dim iterator
    Const CharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

    For iterator = 0 To Len(strBase64) - 1 Step 4
        Byte1 = InStr(CharMap, Mid(strBase64, iterator + 1, 1)) - 1
        Byte2 = InStr(CharMap, Mid(strBase64, iterator + 2, 1)) - 1
        Byte3 = InStr(CharMap, Mid(strBase64, iterator + 3, 1)) - 1
        Byte4 = InStr(CharMap, Mid(strBase64, iterator + 4, 1)) - 1          
        Data = Data & ChrB(Byte1 * 4 + Byte2 \ 16)
        If Byte3 >= 0 Then
            Data = Data & ChrB((Byte2 And 15) * 16 + Byte3 \ 4)
        Else
            Data = Data & ChrB((iterator * 3 \ 4 + 1) = (Byte2 And 15) * 16)
        End If

        If Byte4 >= 0 Then
            Data = Data & ChrB((Byte3 And 3) * 64 + Byte4)
        End If
    Next
    Base64ToBSTR = Data  
End Function
%>

SesProxy.asp
<%
    response.Expires = 0
    response.Buffer  = True
    response.Clear

    response.contentType = Session("contentType")
    response.BinaryWrite Session("ImageBytes")
    response.End
%>

'VBS' 카테고리의 다른 글

[VBS] - MSSOAP 을 사용한 Low level Soap 구현  (0) 2010.06.25
Posted by 짱가쟁이
이전버튼 1 이전버튼