Sample code for 30+ languages & platforms
Node.js

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 Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    var xSoapEnvelope = new chilkat.Xml();

    success = xSoapEnvelope.LoadXmlFile("soapMessage.xml");
    if (success !== true) {
        console.log(xSoapEnvelope.LastErrorText);
        return;
    }

    // The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
    console.log("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"
    // xSoapBody: Xml
    var xSoapBody = xSoapEnvelope.FindChild("soapenv:Body");
    if (xSoapEnvelope.LastMethodSuccess == false) {
        console.log("No direct child having the tag \"soapenv:Body\" was found.");
        return;
    }

    // The SOAP message body is the direct child of the SOAP envelope body:
    // xMessageBody: Xml
    var xMessageBody = xSoapBody.FindChild("TimbreFiscalDigital");
    if (xSoapBody.LastMethodSuccess == false) {
        console.log("No direct child having the tag \"TimbreFiscalDigital\" was found.");

        return;
    }

    // If desired, get the XML of just the SOAP message body:
    var soapMessageXml = xSoapBody.GetXml();

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

}

chilkatExample();