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
(Delphi DLL) 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>
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml; ... procedure TForm1.Button1Click(Sender: TObject); var xSoapEnvelope: HCkXml; success: Boolean; xSoapBody: HCkXml; xMessageBody: HCkXml; soapMessageXml: PWideChar; begin xSoapEnvelope := CkXml_Create(); success := CkXml_LoadXmlFile(xSoapEnvelope,'soapMessage.xml'); if (success <> True) then begin Memo1.Lines.Add(CkXml__lastErrorText(xSoapEnvelope)); Exit; end; // The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope" Memo1.Lines.Add('SOAP envelope tag: ' + CkXml__tag(xSoapEnvelope)); // The SOAP body (in this case) is a direct child of the SOAP envelope // and has the tag "soapenv:Body" xSoapBody := CkXml_FindChild(xSoapEnvelope,'soapenv:Body'); if (CkXml_getLastMethodSuccess(xSoapEnvelope) = False) then begin Memo1.Lines.Add('No direct child having the tag "soapenv:Body" was found.'); Exit; end; // The SOAP message body is the direct child of the SOAP envelope body: xMessageBody := CkXml_FindChild(xSoapBody,'TimbreFiscalDigital'); if (CkXml_getLastMethodSuccess(xSoapBody) = False) then begin Memo1.Lines.Add('No direct child having the tag "TimbreFiscalDigital" was found.'); CkXml_Dispose(xSoapBody); Exit; end; // If desired, get the XML of just the SOAP message body: soapMessageXml := CkXml__getXml(xSoapBody); CkXml_Dispose(xMessageBody); CkXml_Dispose(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_Dispose(xSoapEnvelope); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.