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

React Native
import { Http, HttpRequest, HttpResponse, Xml } from '@chilkat/react-native'

async function chilkatExample() {
  // 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.
  // --------------------------------------------------------------------------------

  const http = new 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>

  const soapXml = new Xml();
  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', '');

  console.log(soapXml.getXml());

  const req = new HttpRequest();
  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;

  const resp = new HttpResponse();
  try {
    await http.httpSReqAsync('secure.smartbearsoftware.com', 443, true, req, resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const xmlResponse = new Xml();
  xmlResponse.loadXml(resp.bodyStr);
  console.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>
}