Sample code for 30+ languages & platforms
Dart 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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // 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.
  // --------------------------------------------------------------------------------

  final http = CkHttp();

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

  final soapXml = CkXml();
  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', '');

  print(soapXml.getXml());

  final req = CkHttpRequest();
  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';
  req.loadBodyFromString(soapXml.getXml(), 'utf-8');

  http.followRedirects = true;

  final resp = CkHttpResponse();
  try {
    http.httpSReq('secure.smartbearsoftware.com', 443, true, req, resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final xmlResponse = CkXml();
  xmlResponse.loadXml(resp.bodyStr);
  print(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>
}