Sample code for 30+ languages & platforms
Dart

SOAP facturacion.finkok.com Stamp Request

See more SOAP finkok.com Examples

Make a SOAP call to https://demo-facturacion.finkok.com/servicios/soap/stamp

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();

  // First build this SOAP XML request body:
  // Use this online tool to generate the code from sample XML: 
  // Generate Code to Create XML

  // <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stam="http://facturacion.finkok.com/stamp">
  //    <soapenv:Header/>
  //    <soapenv:Body>
  //       <stam:stamp>
  //          <stam:xml>cid:20379537153</stam:xml>
  //          <stam:username>?</stam:username>
  //          <stam:password>?</stam:password>
  //       </stam:stamp>
  //    </soapenv:Body>
  // </soapenv:Envelope>

  final xml = CkXml();
  xml.tag = 'soapenv:Envelope';
  xml.addAttribute('xmlns:soapenv', 'http://schemas.xmlsoap.org/soap/envelope/');
  xml.addAttribute('xmlns:stam', 'http://facturacion.finkok.com/stamp');
  xml.updateChildContent('soapenv:Header', '');
  xml.updateChildContent('soapenv:Body|stam:stamp|stam:xml', 'cid:20379537153');
  xml.updateChildContent('soapenv:Body|stam:stamp|stam:username', 'MY_USERNAME');
  xml.updateChildContent('soapenv:Body|stam:stamp|stam:password', 'MY_PASSWORD');

  final strXml = xml.getXml();

  http.setRequestHeader('SOAPAction', 'stamp');

  final endPoint = 'https://demo-facturacion.finkok.com/servicios/soap/stamp';

  final resp = CkHttpResponse();
  try {
    http.httpStr('POST', endPoint, strXml, 'utf-8', 'text/xml', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final statusCode = resp.statusCode;
  if (statusCode != 200) {
    print('Non-success status code: $statusCode');
    print('Response header: ${resp.header}');
    print('Response body: ${resp.bodyStr}');
    print('Unsuccessful.');
    return;
  }

  final xmlResp = CkXml();
  xmlResp.loadXml(resp.bodyStr);

  print(xmlResp.getXml());

  // Use this online tool to generate parsing code from sample XML: 
  // Generate Parsing Code from XML
}