AutoIt
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
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.
; --------------------------------------------------------------------------------