Sample code for 30+ languages & platforms
Dart

palena.sii.cl getSeed SOAP Request

See more SII Chile Examples

Demonstrates how to call getSeed SOAP request at palena.sii.cl

Chilkat Dart Downloads

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

void main() {
  final http = CkHttp();

  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  http.uncommonOptions = 'AllowEmptyHeaders';
  http.setRequestHeader('SOAPAction', '');

  // The endpoint for this soap service is:
  final endPoint = 'https://palena.sii.cl/DTEWS/CrSeed.jws';

  // Send the following SOAP XML
  // <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://DefaultNamespace">
  //    <soapenv:Header/>
  //    <soapenv:Body>
  //       <def:getSeed soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  //    </soapenv:Body>
  // </soapenv:Envelope>

  final xml = CkXml();
  xml.tag = 'soapenv:Envelope';
  xml.addAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
  xml.addAttribute('xmlns:xsd', 'http://www.w3.org/2001/XMLSchema');
  xml.addAttribute('xmlns:soapenv', 'http://schemas.xmlsoap.org/soap/envelope/');
  xml.addAttribute('xmlns:def', 'http://DefaultNamespace');
  xml.updateChildContent('soapenv:Header', '');
  xml.updateAttrAt('soapenv:Body|def:getSeed', true, 'soapenv:encodingStyle', 'http://schemas.xmlsoap.org/soap/encoding/');

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

  final responseStatusCode = resp.statusCode;

  print('Response Status Code: $responseStatusCode');

  // You may examine the exact HTTP header sent with the POST like this:
  print('LastHeader:');
  print(http.lastHeader);

  // Examine the XML returned by the web service:
  print('XML Response:');
  final xmlResp = CkXml();
  xmlResp.loadXml(resp.bodyStr);
  print(xmlResp.getXml());

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

  // The response is:

  // <?xml version="1.0" encoding="UTF-8"?>
  // <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  //     <soapenv:Body>
  //         <ns1:getSeedResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://DefaultNamespace">
  //             <ns1:getSeedReturn xsi:type="xsd:string">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;SII:RESPUESTA xmlns:SII=&quot;http://www.sii.cl/XMLSchema&quot;&gt;&lt;SII:RESP_BODY&gt;&lt;SEMILLA&gt;039159253918&lt;/SEMILLA&gt;&lt;/SII:RESP_BODY&gt;&lt;SII:RESP_HDR&gt;&lt;ESTADO&gt;00&lt;/ESTADO&gt;&lt;/SII:RESP_HDR&gt;&lt;/SII:RESPUESTA&gt;</ns1:getSeedReturn>
  //         </ns1:getSeedResponse>
  //     </soapenv:Body>
  // </soapenv:Envelope>

  // Get the XML contained in the getSeedReturn element:
  final embeddedXml = xmlResp.getChildContent('soapenv:Body|ns1:getSeedResponse|ns1:getSeedReturn');
  print(embeddedXml);

  // The embedded XML is:

  // <?xml version="1.0" encoding="UTF-8"?>
  // <SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema">
  //     <SII:RESP_BODY>
  //         <SEMILLA>039159397998</SEMILLA>
  //     </SII:RESP_BODY>
  //     <SII:RESP_HDR>
  //         <ESTADO>00</ESTADO>
  //     </SII:RESP_HDR>
  // </SII:RESPUESTA>

  // Get the seed:
  final xml2 = CkXml();
  xml2.loadXml(embeddedXml);
  final seed = xml2.getChildContent('SII:RESP_BODY|SEMILLA');
  print('seed =  $seed');

  // --------------------------------------------------------------------------------
  // Also see Chilkat's Online WSDL Code Generator
  // to generate code and SOAP Request and Response XML for each operation in a WSDL.
  // --------------------------------------------------------------------------------
}