View difference between Paste ID: 7s6bc5gh and 2gyxGzAP
SHOW: | | - or go back to the newest paste.
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