Sample code for 30+ languages & platforms
Lua

Access SOAP Body XML

Demonstrates how to access the SOAP body in XML.
<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
    <soapenv:Body>
        <tfd:TimbreFiscalDigital version="1.0" />
    </soapenv:Body>
</soapenv:Envelope>

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local xSoapEnvelope = chilkat.Xml.new()

local success = xSoapEnvelope:load_xml_file("soapMessage.xml")
if not success then
    print(xSoapEnvelope.last_error_text)
    return
end

-- The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
print("SOAP envelope tag: " .. xSoapEnvelope.tag)

-- The SOAP body (in this case) is a direct child of the SOAP envelope
-- and has the tag "soapenv:Body"
local xSoapBody = xSoapEnvelope:find_child("soapenv:Body")
if not xSoapEnvelope.last_method_success then
    print("No direct child having the tag \"soapenv:Body\" was found.")
    return
end

-- The SOAP message body is the direct child of the SOAP envelope body:
local xMessageBody = xSoapBody:find_child("TimbreFiscalDigital")
if not xSoapBody.last_method_success then
    print("No direct child having the tag \"TimbreFiscalDigital\" was found.")

    return
end

-- If desired, get the XML of just the SOAP message body:
local soapMessageXml = xSoapBody:get_xml()

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