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
(PowerBuilder) Simple SOAP RequestSee more HTTP ExamplesDemonstrates how to send a simple SOAP request.
integer li_rc oleobject loo_Xml string ls_SoapRequestBody string ls_Endpoint string ls_SoapAction string ls_ContentType oleobject loo_Http oleobject loo_Resp oleobject loo_ResponseXml integer li_StatusCode string ls_Dat_NumberToDollarsResult // -------------------------------------------------------------------------------- // 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> loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") if li_rc < 0 then destroy loo_Xml MessageBox("Error","Connecting to COM object failed") return end if loo_Xml.Tag = "soapenv:Envelope" loo_Xml.AddAttribute("xmlns:dat","http://www.dataaccess.com/webservicesserver/") loo_Xml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/") loo_Xml.UpdateChildContent("soapenv:Header","") loo_Xml.UpdateChildContent("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. loo_Xml.EmitXmlDecl = 0 ls_SoapRequestBody = loo_Xml.GetXml() ls_Endpoint = "https://www.dataaccess.com/webservicesserver/numberconversion.wso" ls_SoapAction = "" // For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml" ls_ContentType = "text/xml" loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") loo_Http.ClearHeaders() loo_Http.SetRequestHeader("Content-Type",ls_ContentType) loo_Http.SetRequestHeader("SOAPAction",ls_SoapAction) loo_Resp = loo_Http.PostXml(ls_Endpoint,ls_SoapRequestBody,"utf-8") if loo_Http.LastMethodSuccess = 0 then Write-Debug loo_Http.LastErrorText Write-Debug "Failed to send SOAP request." destroy loo_Xml destroy loo_Http return end if // Get the XML response body. loo_ResponseXml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_ResponseXml.ConnectToNewObject("Chilkat.Xml") loo_Resp.GetBodyXml(loo_ResponseXml) li_StatusCode = loo_Resp.StatusCode Write-Debug "response status code: " + string(li_StatusCode) destroy loo_Resp // If the status code does not indicate succcess, then show the response XML, // which probably contains error information. if li_StatusCode <> 200 then Write-Debug loo_ResponseXml.GetXml() destroy loo_Xml destroy loo_Http destroy loo_ResponseXml return end if Write-Debug loo_ResponseXml.GetXml() // 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> ls_Dat_NumberToDollarsResult = loo_ResponseXml.GetChildContent("*:Body|*:NumberToDollarsResponse|*:NumberToDollarsResult") Write-Debug "result: " + ls_Dat_NumberToDollarsResult destroy loo_Xml destroy loo_Http destroy loo_ResponseXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.