Sample code for 30+ languages & platforms
Rust

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 Rust Downloads

Rust

let x_soap_envelope = chilkat::Xml::new();

if x_soap_envelope.load_xml_file("soapMessage.xml").is_err() {
    println!("{}", x_soap_envelope.last_error_text());
    return;
}

// The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
println!("SOAP envelope tag: {}", x_soap_envelope.tag());

// The SOAP body (in this case) is a direct child of the SOAP envelope
// and has the tag "soapenv:Body"
let Ok(x_soap_body) = x_soap_envelope.find_child("soapenv:Body") else {
    println!("No direct child having the tag \"soapenv:Body\" was found.");
    return;
};

// The SOAP message body is the direct child of the SOAP envelope body:
let Ok(x_message_body) = x_soap_body.find_child("TimbreFiscalDigital") else {
    println!("No direct child having the tag \"TimbreFiscalDigital\" was found.");

    return;
};

// If desired, get the XML of just the SOAP message body:
let soap_message_xml = x_soap_body.get_xml().unwrap_or_default();

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