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
(DataFlex) Simple SOAP RequestSee more HTTP ExamplesDemonstrates how to send a simple SOAP request.
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess String sSoapRequestBody String sEndpoint String sSoapAction String sContentType Handle hoHttp Variant vResp Handle hoResp Variant vResponseXml Handle hoResponseXml Integer iStatusCode String sDat_NumberToDollarsResult String sTemp1 Boolean bTemp1 // -------------------------------------------------------------------------------- // Also see Chilkat's Online WSDL Code Generator // to generate code and SOAP Request and Response XML for each operation in a WSDL. // -------------------------------------------------------------------------------- // Create the following XML to be sent in the SOAP request body. // <soapenv:Envelope xmlns:dat="http://www.dataaccess.com/webservicesserver/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> // <soapenv:Header/> // <soapenv:Body> // <dat:NumberToDollars> // <dat:dNum>99.0</dat:dNum> // </dat:NumberToDollars> // </soapenv:Body> // </soapenv:Envelope> Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Set ComTag Of hoXml To "soapenv:Envelope" Get ComAddAttribute Of hoXml "xmlns:dat" "http://www.dataaccess.com/webservicesserver/" To iSuccess Get ComAddAttribute Of hoXml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/" To iSuccess Send ComUpdateChildContent To hoXml "soapenv:Header" "" Send ComUpdateChildContent To hoXml "soapenv:Body|dat:NumberToDollars|dat:dNum" "99.0" // In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required. Set ComEmitXmlDecl Of hoXml To False Get ComGetXml Of hoXml To sSoapRequestBody Move "https://www.dataaccess.com/webservicesserver/numberconversion.wso" To sEndpoint Move "" To sSoapAction // For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml" Move "text/xml" To sContentType Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Send ComClearHeaders To hoHttp Send ComSetRequestHeader To hoHttp "Content-Type" sContentType Send ComSetRequestHeader To hoHttp "SOAPAction" sSoapAction Get ComPostXml Of hoHttp sEndpoint sSoapRequestBody "utf-8" To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Showln "Failed to send SOAP request." Procedure_Return End // Get the XML response body. Get Create (RefClass(cComChilkatXml)) To hoResponseXml If (Not(IsComObjectCreated(hoResponseXml))) Begin Send CreateComObject of hoResponseXml End Get pvComObject of hoResponseXml to vResponseXml Get ComGetBodyXml Of hoResp vResponseXml To iSuccess Get ComStatusCode Of hoResp To iStatusCode Showln "response status code: " iStatusCode Send Destroy of hoResp // If the status code does not indicate succcess, then show the response XML, // which probably contains error information. If (iStatusCode <> 200) Begin Get ComGetXml Of hoResponseXml To sTemp1 Showln sTemp1 Procedure_Return End Get ComGetXml Of hoResponseXml To sTemp1 Showln sTemp1 // Parse the successful SOAP response XML. // This is a sample of the response XML, but the namespace prefixes will be different. // We can parse the result using "*" for the namespace prefixes (see below). // <soapenv:Envelope xmlns:dat="http://www.dataaccess.com/webservicesserver/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> // <soapenv:Header/> // <soapenv:Body> // <dat:NumberToDollarsResponse> // <dat:NumberToDollarsResult>string</dat:NumberToDollarsResult> // </dat:NumberToDollarsResponse> // </soapenv:Body> // </soapenv:Envelope> Get ComGetChildContent Of hoResponseXml "*:Body|*:NumberToDollarsResponse|*:NumberToDollarsResult" To sDat_NumberToDollarsResult Showln "result: " sDat_NumberToDollarsResult End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.