Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) SOAP Request to farmaclick.infarma.itDemonstrates how to make a SOAP HTTP request to the FCKLogin method of farmaclick.infarma.it.
#include <CkXml.h> #include <CkHttp.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. bool success; // 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 CkXml xml; xml.put_Tag("soapenv:Envelope"); xml.AddAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance"); xml.AddAttribute("xmlns:xsd","http://www.w3.org/2001/XMLSchema"); xml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/"); xml.AddAttribute("xmlns:api","http://api.farmaclick.infarma.it"); xml.UpdateChildContent("soapenv:Header",""); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin",true,"soapenv:encodingStyle","http://schemas.xmlsoap.org/soap/encoding/"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean",true,"xsi:type","urn:LoginInputBean"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean",true,"xmlns:urn","urn:BeanService"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|nomeTerminale",true,"xsi:type","soapenc:string"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|nomeTerminale",true,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/"); xml.UpdateChildContent("soapenv:Body|api:FCKLogin|inBean|nomeTerminale","?"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|password",true,"xsi:type","soapenc:string"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|password",true,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/"); xml.UpdateChildContent("soapenv:Body|api:FCKLogin|inBean|password","?"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|passwordSH",true,"xsi:type","soapenc:string"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|passwordSH",true,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/"); xml.UpdateChildContent("soapenv:Body|api:FCKLogin|inBean|passwordSH","?"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|userName",true,"xsi:type","soapenc:string"); xml.UpdateAttrAt("soapenv:Body|api:FCKLogin|inBean|userName",true,"xmlns:soapenc","http://schemas.xmlsoap.org/soap/encoding/"); xml.UpdateChildContent("soapenv:Body|api:FCKLogin|inBean|userName","?"); CkHttp http; http.put_SessionLogFilename("qa_output/sessionLog.txt"); http.SetRequestHeader("Content-Type","text/xml;charset=UTF-8"); // Indicate we want to allow an empty header.. http.put_UncommonOptions("AllowEmptyHeaders"); http.SetRequestHeader("SoapAction",""); CkHttpResponse *resp = http.PostXml("http://webservice.unicospa.it:8181/Service.svc/FrontEndService/Farmaclick2010001FCKLogin",xml.getXml(),"utf-8"); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // A status code = 200 indicates success. strOut.append("Response status code = "); strOut.appendInt(resp->get_StatusCode()); strOut.append("\r\n"); CkXml xmlResp; xmlResp.LoadXml(resp->bodyStr()); strOut.append("Response body text:"); strOut.append("\r\n"); strOut.append(xmlResp.getXml()); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.