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) SOAP Request to farmaclick.infarma.itDemonstrates how to make a SOAP HTTP request to the FCKLogin method of farmaclick.infarma.it.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkXml.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; -------------------------------------------------------------------------------- ; Also see Chilkat's Online WSDL Code Generator ; to generate code and SOAP Request and Response XML for each operation in a WSDL. ; -------------------------------------------------------------------------------- success.i ; Here is an example of an HTTP POST Request we'll be sending: ; POST /documento.php HTTP/1.1 ; Content-Type: text/xml;charset=UTF-8 ; SOAPAction: https://conexion.facto.cl/documento.php/emitirDocumento ; ; <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.farmaclick.infarma.it"> ; <soapenv:Header/> ; <soapenv:Body> ; <api:FCKLogin soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> ; <inBean xsi:type="urn:LoginInputBean" xmlns:urn="urn:BeanService"> ; <nomeTerminale xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</nomeTerminale> ; <password xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</password> ; <passwordSH xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</passwordSH> ; <userName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</userName> ; </inBean> ; </api:FCKLogin> ; </soapenv:Body> ; </soapenv:Envelope> ; Use this online tool to generate code from sample XML: ; Generate Code to Create XML xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::setCkTag(xml, "soapenv:Envelope") CkXml::ckAddAttribute(xml,"xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance") CkXml::ckAddAttribute(xml,"xmlns:xsd","http://www.w3.org/2001/XMLSchema") CkXml::ckAddAttribute(xml,"xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/") CkXml::ckAddAttribute(xml,"xmlns:api","http://api.farmaclick.infarma.it") CkXml::ckUpdateChildContent(xml,"soapenv:Header","") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin",1,"soapenv:encodingStyle","http://schemas.xmlsoap.org/soap/encoding/") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean",1,"xsi:type","urn:LoginInputBean") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean",1,"xmlns:urn","urn:BeanService") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|nomeTerminale",1,"xsi:type","soapenc:string") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|nomeTerminale",1,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/") CkXml::ckUpdateChildContent(xml,"soapenv:Body|api:FCKLogin|inBean|nomeTerminale","?") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|password",1,"xsi:type","soapenc:string") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|password",1,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/") CkXml::ckUpdateChildContent(xml,"soapenv:Body|api:FCKLogin|inBean|password","?") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|passwordSH",1,"xsi:type","soapenc:string") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|passwordSH",1,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/") CkXml::ckUpdateChildContent(xml,"soapenv:Body|api:FCKLogin|inBean|passwordSH","?") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|userName",1,"xsi:type","soapenc:string") CkXml::ckUpdateAttrAt(xml,"soapenv:Body|api:FCKLogin|inBean|userName",1,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/") CkXml::ckUpdateChildContent(xml,"soapenv:Body|api:FCKLogin|inBean|userName","?") http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::setCkSessionLogFilename(http, "qa_output/sessionLog.txt") CkHttp::ckSetRequestHeader(http,"Content-Type","text/xml;charset=UTF-8") ; Indicate we want to allow an empty header.. CkHttp::setCkUncommonOptions(http, "AllowEmptyHeaders") CkHttp::ckSetRequestHeader(http,"SoapAction","") resp.i = CkHttp::ckPostXml(http,"http://webservice.unicospa.it:8181/Service.svc/FrontEndService/Farmaclick2010001FCKLogin",CkXml::ckGetXml(xml),"utf-8") If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkXml::ckDispose(xml) CkHttp::ckDispose(http) ProcedureReturn EndIf ; A status code = 200 indicates success. Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) xmlResp.i = CkXml::ckCreate() If xmlResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::ckLoadXml(xmlResp,CkHttpResponse::ckBodyStr(resp)) Debug "Response body text:" Debug CkXml::ckGetXml(xmlResp) CkHttpResponse::ckDispose(resp) CkXml::ckDispose(xml) CkHttp::ckDispose(http) CkXml::ckDispose(xmlResp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.