Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# 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

set xml [new_CkXml]

CkXml_put_Tag $xml "soapenv:Envelope"
CkXml_AddAttribute $xml "xmlns:xsi" "http://www.w3.org/2001/XMLSchema-instance"
CkXml_AddAttribute $xml "xmlns:xsd" "http://www.w3.org/2001/XMLSchema"
CkXml_AddAttribute $xml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/"
CkXml_AddAttribute $xml "xmlns:api" "http://api.farmaclick.infarma.it"
CkXml_UpdateChildContent $xml "soapenv:Header" ""
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin" 1 "soapenv:encodingStyle" "http://schemas.xmlsoap.org/soap/encoding/"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean" 1 "xsi:type" "urn:LoginInputBean"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean" 1 "xmlns:urn" "urn:BeanService"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" 1 "xsi:type" "soapenc:string"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" 1 "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/"
CkXml_UpdateChildContent $xml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" "?"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|password" 1 "xsi:type" "soapenc:string"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|password" 1 "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/"
CkXml_UpdateChildContent $xml "soapenv:Body|api:FCKLogin|inBean|password" "?"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|passwordSH" 1 "xsi:type" "soapenc:string"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|passwordSH" 1 "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/"
CkXml_UpdateChildContent $xml "soapenv:Body|api:FCKLogin|inBean|passwordSH" "?"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|userName" 1 "xsi:type" "soapenc:string"
CkXml_UpdateAttrAt $xml "soapenv:Body|api:FCKLogin|inBean|userName" 1 "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/"
CkXml_UpdateChildContent $xml "soapenv:Body|api:FCKLogin|inBean|userName" "?"

set http [new_CkHttp]

# Indicate we want to allow an empty header..
CkHttp_put_UncommonOptions $http "AllowEmptyHeaders"
CkHttp_SetRequestHeader $http "SoapAction" ""

set resp [new_CkHttpResponse]

set success [CkHttp_HttpStr $http "POST" "http://webservice.unicospa.it:8181/Service.svc/FrontEndService/Farmaclick2010001FCKLogin" [CkXml_getXml $xml] "utf-8" "text/xml" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkXml $xml
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

# A status code = 200 indicates success.
puts "Response status code = [CkHttpResponse_get_StatusCode $resp]"

set xmlResp [new_CkXml]

CkXml_LoadXml $xmlResp [CkHttpResponse_bodyStr $resp]
puts "Response body text:"
puts [CkXml_getXml $xmlResp]

delete_CkXml $xml
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkXml $xmlResp