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 |