Rust
Rust
SOAP Request to farmaclick.infarma.it
See more HTTP Misc Examples
Demonstrates how to make a SOAP HTTP request to the FCKLogin method of farmaclick.infarma.it.Chilkat Rust Downloads
// 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.
// --------------------------------------------------------------------------------
// 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
let xml = chilkat::Xml::new();
xml.set_tag("soapenv:Envelope");
let _ = xml.add_attribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
let _ = xml.add_attribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
let _ = xml.add_attribute("xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope/");
let _ = xml.add_attribute("xmlns:api", "http://api.farmaclick.infarma.it");
xml.update_child_content("soapenv:Header", "");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin", true, "soapenv:encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean", true, "xsi:type", "urn:LoginInputBean");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean", true, "xmlns:urn", "urn:BeanService");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|nomeTerminale", true, "xsi:type", "soapenc:string");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|nomeTerminale", true, "xmlns:soapenc", "http://schemas.xmlsoap.org/soap/encoding/");
xml.update_child_content("soapenv:Body|api:FCKLogin|inBean|nomeTerminale", "?");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|password", true, "xsi:type", "soapenc:string");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|password", true, "xmlns:soapenc", "http://schemas.xmlsoap.org/soap/encoding/");
xml.update_child_content("soapenv:Body|api:FCKLogin|inBean|password", "?");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|passwordSH", true, "xsi:type", "soapenc:string");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|passwordSH", true, "xmlns:soapenc", "http://schemas.xmlsoap.org/soap/encoding/");
xml.update_child_content("soapenv:Body|api:FCKLogin|inBean|passwordSH", "?");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|userName", true, "xsi:type", "soapenc:string");
let _ = xml.update_attr_at("soapenv:Body|api:FCKLogin|inBean|userName", true, "xmlns:soapenc", "http://schemas.xmlsoap.org/soap/encoding/");
xml.update_child_content("soapenv:Body|api:FCKLogin|inBean|userName", "?");
let http = chilkat::Http::new();
// Indicate we want to allow an empty header..
http.set_uncommon_options("AllowEmptyHeaders");
http.set_request_header("SoapAction", "");
let resp = chilkat::HttpResponse::new();
if http.http_str("POST", "http://webservice.unicospa.it:8181/Service.svc/FrontEndService/Farmaclick2010001FCKLogin", &xml.get_xml().unwrap_or_default(), "utf-8", "text/xml", &resp).is_err() {
println!("{}", http.last_error_text());
return;
}
// A status code = 200 indicates success.
println!("Response status code = {}", resp.status_code());
let xml_resp = chilkat::Xml::new();
let _ = xml_resp.load_xml(&resp.body_str());
println!("Response body text:");
println!("{}", xml_resp.get_xml().unwrap_or_default());