Advertisement
Guest User

Untitled

a guest
Jun 21st, 2011
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GAMBAS 4.05 KB | None | 0 0
  1. Public Sub Test_Click()
  2.  
  3.   Dim http As HttpClient
  4.   http = New HttpClient As "http"
  5.   doHttpGet(http)
  6.   showResult("Http GET", http)
  7.   http = New HttpClient As "http"
  8.   doHttpPost(http)
  9.   showResult("Http POST", http)
  10.   http = New HttpClient As "http"
  11.   doSOAP11(http)
  12.   showResult("SOAP 1.1", http)
  13.   http = New HttpClient As "http"
  14.   doSOAP12(http)
  15.   showResult("SOAP 1.2", http)
  16.  
  17. End
  18.  
  19. Public Sub doHttpGet(http As HttpClient)
  20.  
  21.   http.URL = "http://www.webservicex.net/ConvertTemperature.asmx/ConvertTemp?Temperature=100&FromUnit=degreeCelsius&ToUnit=degreeFahrenheit"
  22.   http.Async = False
  23.   http.Timeout = 60
  24.   http.Get()
  25.  
  26. End
  27.  
  28. Public Sub doHttpPost(http As HttpClient)
  29.  
  30.   Dim data As String
  31.   http.URL = "http://www.webservicex.net/ConvertTemperature.asmx/ConvertTemp"
  32.   http.Async = False
  33.   http.Timeout = 60
  34.   data = "Temperature=100&FromUnit=degreeCelsius&ToUnit=degreeFahrenheit"
  35.   Print "Http POST data: " & data
  36.   http.Post("application/x-www-form-urlencoded", data)
  37.  
  38. End
  39.  
  40. Public Sub doSoap11(http As HttpClient)
  41.  
  42.   Dim data, aHeader As String
  43.   Dim headers As String[]
  44.   http.URL = "http://www.webservicex.net/ConvertTemperature.asmx"
  45.   http.Async = False
  46.   http.Timeout = 60
  47.   data = "<?xml version=" & Chr$(34) & "1.0" & Chr$(34) & " encoding=" & Chr$(34) & "utf-8" & Chr$(34) & "?>" & gb.newline &
  48.   "<soap:Envelope xmlns:xsi=" & Chr$(34) & "http://www.w3.org/2001/XMLSchema-instance" & Chr$(34) & " xmlns:xsd=" & Chr$(34) & "http://www.w3.org/2001/XMLSchema" & Chr$(34) & " xmlns:soap=" & Chr$(34) & "http://schemas.xmlsoap.org/soap/envelope/" & Chr$(34) & ">" & gb.newline &
  49.   "  <soap:Body>" & gb.newline &
  50.   "    <ConvertTemp xmlns=" & Chr$(34) & "http://www.webserviceX.NET/" & Chr$(34) & ">" & gb.newline &
  51.   "      <Temperature>100</Temperature>" & gb.newline &
  52.   "      <FromUnit>degreeCelsius</FromUnit>" & gb.newline &
  53.   "      <ToUnit>degreeFahrenheit</ToUnit>" & gb.newline &
  54.   "    </ConvertTemp>" & gb.newline &
  55.   "  </soap:Body>" & gb.newline &
  56.   "</soap:Envelope>"
  57.   Print "Soap 1.1 data: " & data
  58.   headers = ["Content-Type: text/xml; charset=utf-8", "Content-Length: " & Len(data), "SOAPAction: " & Chr$(34) & "http://www.webserviceX.NET/ConvertTemp" & Chr$(34)]
  59.   For Each aHeader In headers
  60.     Print "Sending SOAP 1.1 header: " & aHeader
  61.   Next
  62.   http.Post("", data, headers)
  63.  
  64. End
  65.  
  66. Public Sub doSoap12(http As HttpClient)
  67.  
  68.   Dim data, aHeader As String
  69.   Dim headers As String[]
  70.   http.URL = "http://www.webservicex.net/ConvertTemperature.asmx"
  71.   http.Async = False
  72.   http.Timeout = 60
  73.   data = "<?xml version=" & Chr$(34) & "1.0" & Chr$(34) & " encoding=" & Chr$(34) & "utf-8" & Chr$(34) & "?>" & gb.newline &
  74.   "<soap12:Envelope xmlns:xsi=" & Chr$(34) & "http://www.w3.org/2001/XMLSchema-instance" & Chr$(34) & " xmlns:xsd=" & Chr$(34) & "http://www.w3.org/2001/XMLSchema" & Chr$(34) & " xmlns:soap12=" & Chr$(34) & "http://www.w3.org/2003/05/soap-envelope" & Chr$(34) & ">" & gb.newline &
  75.   "  <soap12:Body>" & gb.newline &
  76.   "    <ConvertTemp xmlns=" & Chr$(34) & "http://www.webserviceX.NET/" & Chr$(34) & ">" & gb.newline &
  77.   "      <Temperature>100</Temperature>" & gb.newline &
  78.   "      <FromUnit>degreeCelsius</FromUnit>" & gb.newline &
  79.   "      <ToUnit>degreeFahrenheit</ToUnit>" & gb.newline &
  80.   "    </ConvertTemp>" & gb.newline &
  81.   "  </soap12:Body>" & gb.newline &
  82.   "</soap12:Envelope>"
  83.   Print "Soap 1.2 data: " & data
  84.   headers = ["Content-Type: application/soap+xml; charset=utf-8", "Content-Length: " & Len(data)]
  85.   For Each aHeader In headers
  86.     Print "Sending SOAP 1.2 header: " & aHeader
  87.   Next
  88.   http.Post("", data, headers)
  89.  
  90. End
  91.  
  92. Public Sub showResult(typeOfCall As String, http As HttpClient)  
  93.  
  94.   Dim buffer, aHeader As String
  95.   Print "*** Result for " & typeOfCall & " ***"
  96.   If http.Status < 0 Then
  97.     Print "ERROR"
  98.   Else
  99.     ' Success - read data
  100.     If Lof(http) Then Read #http, buffer, Lof(http)
  101.     Print buffer
  102.     For Each aHeader In http.Headers
  103.       Print "Got header: " & aHeader
  104.     Next
  105.   End If
  106.   Print "*** End " & typeOfCall & " ***"
  107.  
  108.  
  109. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement