Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

Dim xSoapEnvelope As ChilkatXml
xSoapEnvelope.Initialize

success = xSoapEnvelope.LoadXmlFile("soapMessage.xml")
If success <> True Then
    Log(xSoapEnvelope.LastErrorText)
    Return
End If


'  The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
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"
Dim xSoapBody As ChilkatXml = xSoapEnvelope.FindChild("soapenv:Body")
If xSoapEnvelope.LastMethodSuccess = False Then
    Log("No direct child having the tag " & Chr(34) & "soapenv:Body" & Chr(34) & " was found.")
    Return
End If


'  The SOAP message body is the direct child of the SOAP envelope body:
Dim xMessageBody As ChilkatXml = xSoapBody.FindChild("TimbreFiscalDigital")
If xSoapBody.LastMethodSuccess = False Then
    Log("No direct child having the tag " & Chr(34) & "TimbreFiscalDigital" & Chr(34) & " was found.")

    Return
End If


'  If desired, get the XML of just the SOAP message body:
Dim soapMessageXml As String = 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.
'  --------------------------------------------------------------------------------