Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loXSoapEnvelope
LOCAL loXSoapBody
LOCAL loXMessageBody
LOCAL lcSoapMessageXml
lnSuccess = 0
loXSoapEnvelope = CreateObject('Chilkat.Xml')
lnSuccess = loXSoapEnvelope.LoadXmlFile("soapMessage.xml")
IF (lnSuccess <> 1) THEN
? loXSoapEnvelope.LastErrorText
RELEASE loXSoapEnvelope
CANCEL
ENDIF
* The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
? "SOAP envelope tag: " + loXSoapEnvelope.Tag
* The SOAP body (in this case) is a direct child of the SOAP envelope
* and has the tag "soapenv:Body"
loXSoapBody = loXSoapEnvelope.FindChild("soapenv:Body")
IF (loXSoapEnvelope.LastMethodSuccess = 0) THEN
? 'No direct child having the tag "soapenv:Body" was found.'
RELEASE loXSoapEnvelope
CANCEL
ENDIF
* The SOAP message body is the direct child of the SOAP envelope body:
loXMessageBody = loXSoapBody.FindChild("TimbreFiscalDigital")
IF (loXSoapBody.LastMethodSuccess = 0) THEN
? 'No direct child having the tag "TimbreFiscalDigital" was found.'
RELEASE loXSoapBody
RELEASE loXSoapEnvelope
CANCEL
ENDIF
* If desired, get the XML of just the SOAP message body:
lcSoapMessageXml = loXSoapBody.GetXml()
RELEASE loXMessageBody
RELEASE loXSoapBody
* --------------------------------------------------------------------------------
* Also see Chilkat's Online WSDL Code Generator
* to generate code and SOAP Request and Response XML for each operation in a WSDL.
* --------------------------------------------------------------------------------
RELEASE loXSoapEnvelope