Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Access SOAP Body XMLDemonstrates 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>
IncludeFile "CkXml.pb" Procedure ChilkatExample() xSoapEnvelope.i = CkXml::ckCreate() If xSoapEnvelope.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i success = CkXml::ckLoadXmlFile(xSoapEnvelope,"soapMessage.xml") If success <> 1 Debug CkXml::ckLastErrorText(xSoapEnvelope) CkXml::ckDispose(xSoapEnvelope) ProcedureReturn EndIf ; The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope" Debug "SOAP envelope tag: " + CkXml::ckTag(xSoapEnvelope) ; The SOAP body (in this case) is a direct child of the SOAP envelope ; and has the tag "soapenv:Body" xSoapBody.i = CkXml::ckFindChild(xSoapEnvelope,"soapenv:Body") If CkXml::ckLastMethodSuccess(xSoapEnvelope) = 0 Debug "No direct child having the tag " + Chr(34) + "soapenv:Body" + Chr(34) + " was found." CkXml::ckDispose(xSoapEnvelope) ProcedureReturn EndIf ; The SOAP message body is the direct child of the SOAP envelope body: xMessageBody.i = CkXml::ckFindChild(xSoapBody,"TimbreFiscalDigital") If CkXml::ckLastMethodSuccess(xSoapBody) = 0 Debug "No direct child having the tag " + Chr(34) + "TimbreFiscalDigital" + Chr(34) + " was found." CkXml::ckDispose(xSoapBody) CkXml::ckDispose(xSoapEnvelope) ProcedureReturn EndIf ; If desired, get the XML of just the SOAP message body: soapMessageXml.s = CkXml::ckGetXml(xSoapBody) CkXml::ckDispose(xMessageBody) CkXml::ckDispose(xSoapBody) ; -------------------------------------------------------------------------------- ; Also see Chilkat's Online WSDL Code Generator ; to generate code and SOAP Request and Response XML for each operation in a WSDL. ; -------------------------------------------------------------------------------- CkXml::ckDispose(xSoapEnvelope) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.