Sample code for 30+ languages & platforms
AutoIt

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

AutoIt
Local $bSuccess = False

$oXSoapEnvelope = ObjCreate("Chilkat.Xml")

$bSuccess = $oXSoapEnvelope.LoadXmlFile("soapMessage.xml")
If ($bSuccess <> True) Then
    ConsoleWrite($oXSoapEnvelope.LastErrorText & @CRLF)
    Exit
EndIf

; The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
ConsoleWrite("SOAP envelope tag: " & $oXSoapEnvelope.Tag & @CRLF)

; The SOAP body (in this case) is a direct child of the SOAP envelope
; and has the tag "soapenv:Body"
Local $oXSoapBody = $oXSoapEnvelope.FindChild("soapenv:Body")
If ($oXSoapEnvelope.LastMethodSuccess = False) Then
    ConsoleWrite("No direct child having the tag ""soapenv:Body"" was found." & @CRLF)
    Exit
EndIf

; The SOAP message body is the direct child of the SOAP envelope body:
Local $oXMessageBody = $oXSoapBody.FindChild("TimbreFiscalDigital")
If ($oXSoapBody.LastMethodSuccess = False) Then
    ConsoleWrite("No direct child having the tag ""TimbreFiscalDigital"" was found." & @CRLF)

    Exit
EndIf

; If desired, get the XML of just the SOAP message body:
Local $soapMessageXml = $oXSoapBody.GetXml()

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