Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

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 details

Chilkat B4X Downloads

B4X
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>