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
(SQL Server) 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>
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @xSoapEnvelope int -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Xml', @xSoapEnvelope OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @xSoapEnvelope, 'LoadXmlFile', @success OUT, 'soapMessage.xml' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @xSoapEnvelope, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @xSoapEnvelope RETURN END -- The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope" EXEC sp_OAGetProperty @xSoapEnvelope, 'Tag', @sTmp0 OUT PRINT 'SOAP envelope tag: ' + @sTmp0 -- The SOAP body (in this case) is a direct child of the SOAP envelope -- and has the tag "soapenv:Body" DECLARE @xSoapBody int EXEC sp_OAMethod @xSoapEnvelope, 'FindChild', @xSoapBody OUT, 'soapenv:Body' EXEC sp_OAGetProperty @xSoapEnvelope, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN PRINT 'No direct child having the tag "soapenv:Body" was found.' EXEC @hr = sp_OADestroy @xSoapEnvelope RETURN END -- The SOAP message body is the direct child of the SOAP envelope body: DECLARE @xMessageBody int EXEC sp_OAMethod @xSoapBody, 'FindChild', @xMessageBody OUT, 'TimbreFiscalDigital' EXEC sp_OAGetProperty @xSoapBody, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN PRINT 'No direct child having the tag "TimbreFiscalDigital" was found.' EXEC @hr = sp_OADestroy @xSoapBody EXEC @hr = sp_OADestroy @xSoapEnvelope RETURN END -- If desired, get the XML of just the SOAP message body: DECLARE @soapMessageXml nvarchar(4000) EXEC sp_OAMethod @xSoapBody, 'GetXml', @soapMessageXml OUT EXEC @hr = sp_OADestroy @xMessageBody EXEC @hr = sp_OADestroy @xSoapBody -- -------------------------------------------------------------------------------- -- Also see Chilkat's Online WSDL Code Generator -- to generate code and SOAP Request and Response XML for each operation in a WSDL. -- -------------------------------------------------------------------------------- EXEC @hr = sp_OADestroy @xSoapEnvelope END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.