Sample code for 30+ languages & platforms
Lua

palena.sii.cl getSeed SOAP Request

See more SII Chile Examples

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local http = chilkat.Http.new()

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

http.uncommon_options = "AllowEmptyHeaders"
http:set_request_header("SOAPAction", "")

-- The endpoint for this soap service is:
local 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>

local xml = chilkat.Xml.new()
xml.tag = "soapenv:Envelope"
xml:add_attribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
xml:add_attribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema")
xml:add_attribute("xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope/")
xml:add_attribute("xmlns:def", "http://DefaultNamespace")
xml:update_child_content("soapenv:Header", "")
xml:update_attr_at("soapenv:Body|def:getSeed", true, "soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/")

local resp = chilkat.HttpResponse.new()
local success = http:http_str("POST", endPoint, xml:get_xml(), "utf-8", "text/xml", resp)
if not success then
    print(http.last_error_text)
    return
end

local responseStatusCode = resp.status_code

print("Response Status Code: " .. responseStatusCode)

-- You may examine the exact HTTP header sent with the POST like this:
print("LastHeader:")
print(http.last_header)

-- Examine the XML returned by the web service:
print("XML Response:")
local xmlResp = chilkat.Xml.new()
xmlResp:load_xml(resp.body_str)
print(xmlResp:get_xml())

-- 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:
local embeddedXml = xmlResp:get_child_content("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:
local xml2 = chilkat.Xml.new()
xml2:load_xml(embeddedXml)
local seed = xml2:get_child_content("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.
-- --------------------------------------------------------------------------------