Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
let xSoapEnvelope = CkoXml()!
success = xSoapEnvelope.loadFile(path: "soapMessage.xml")
if success != true {
print("\(xSoapEnvelope.lastErrorText!)")
return
}
// The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
print("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"
var xSoapBody: CkoXml? = xSoapEnvelope.findChild(tagPath: "soapenv:Body")
if xSoapEnvelope.lastMethodSuccess == false {
print("No direct child having the tag \"soapenv:Body\" was found.")
return
}
// The SOAP message body is the direct child of the SOAP envelope body:
var xMessageBody: CkoXml? = xSoapBody!.findChild(tagPath: "TimbreFiscalDigital")
if xSoapBody!.lastMethodSuccess == false {
print("No direct child having the tag \"TimbreFiscalDigital\" was found.")
xSoapBody = nil
return
}
// If desired, get the XML of just the SOAP message body:
var soapMessageXml: String? = xSoapBody!.getXml()
xMessageBody = nil
xSoapBody = nil
// --------------------------------------------------------------------------------
// Also see Chilkat's Online WSDL Code Generator
// to generate code and SOAP Request and Response XML for each operation in a WSDL.
// --------------------------------------------------------------------------------
}