B4X Requires Chilkat v11.0.0+
B4X
HTTP SOAP 1.1 Request and Response using POST
See more HTTP Examples
Demonstrates a working SOAP 1.1 request and response using POST with a live server. You may try running this example with the URLs and data provided. See http://secure.smartbearsoftware.com/samples/testcomplete10/webservices/Service.asmx?WSDL for detailsChilkat B4X Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
' --------------------------------------------------------------------------------
' Also see Chilkat's Online WSDL Code Generator
' to generate code and SOAP Request and Response XML for each operation in a WSDL.
' --------------------------------------------------------------------------------
Dim http As ChilkatHttp
http.Initialize("http")
' Generate the following XML:
' <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smar="http://smartbear.com">
' <soapenv:Header/>
' <soapenv:Body>
' <smar:HelloWorld/>
' </soapenv:Body>
' </soapenv:Envelope>
Dim soapXml As ChilkatXml
soapXml.Initialize
soapXml.Tag = "soapenv:Envelope"
soapXml.AddAttribute("xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope/")
soapXml.AddAttribute("xmlns:smar", "http://smartbear.com")
soapXml.UpdateChildContent("soapenv:Header", "")
soapXml.UpdateChildContent("soapenv:Body|smar:HelloWorld", "")
Log(soapXml.GetXml)
Dim req As ChilkatHttpRequest
req.Initialize
req.HttpVerb = "POST"
req.SendCharset = False
req.AddHeader("Content-Type", "text/xml; charset=utf-8")
req.AddHeader("SOAPAction", "http://smartbear.com/HelloWorld")
req.Path = "/samples/testcomplete10/webservices/Service.asmx"
success = req.LoadBodyFromString(soapXml.GetXml, "utf-8")
http.FollowRedirects = True
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpSReq("secure.smartbearsoftware.com", 443, True, req, resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim xmlResponse As ChilkatXml
xmlResponse.Initialize
success = xmlResponse.LoadXml(resp.BodyStr)
Log(xmlResponse.GetXml)
' A successful XML response:
' <?xml version="1.0" encoding="utf-8" ?>
' <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
' <soap:Body>
' <HelloWorldResponse xmlns="http://smartbear.com">
' <HelloWorldResult>Hello World</HelloWorldResult>
' </HelloWorldResponse>
' </soap:Body>
' </soap:Envelope>