Sample code for 30+ languages & platforms
Tcl

SOAP facturacion.finkok.com Stamp Request

See more SOAP finkok.com Examples

Make a SOAP call to https://demo-facturacion.finkok.com/servicios/soap/stamp

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.
# --------------------------------------------------------------------------------

set http [new_CkHttp]

# First build this SOAP XML request body:
# Use this online tool to generate the code from sample XML: 
# Generate Code to Create XML

# <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stam="http://facturacion.finkok.com/stamp">
#    <soapenv:Header/>
#    <soapenv:Body>
#       <stam:stamp>
#          <stam:xml>cid:20379537153</stam:xml>
#          <stam:username>?</stam:username>
#          <stam:password>?</stam:password>
#       </stam:stamp>
#    </soapenv:Body>
# </soapenv:Envelope>

set xml [new_CkXml]

CkXml_put_Tag $xml "soapenv:Envelope"
CkXml_AddAttribute $xml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/"
CkXml_AddAttribute $xml "xmlns:stam" "http://facturacion.finkok.com/stamp"
CkXml_UpdateChildContent $xml "soapenv:Header" ""
CkXml_UpdateChildContent $xml "soapenv:Body|stam:stamp|stam:xml" "cid:20379537153"
CkXml_UpdateChildContent $xml "soapenv:Body|stam:stamp|stam:username" "MY_USERNAME"
CkXml_UpdateChildContent $xml "soapenv:Body|stam:stamp|stam:password" "MY_PASSWORD"

set strXml [CkXml_getXml $xml]

CkHttp_SetRequestHeader $http "SOAPAction" "stamp"

set endPoint "https://demo-facturacion.finkok.com/servicios/soap/stamp"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpStr $http "POST" $endPoint $strXml "utf-8" "text/xml" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkXml $xml
    delete_CkHttpResponse $resp
    exit
}

set statusCode [CkHttpResponse_get_StatusCode $resp]
if {$statusCode != 200} then {
    puts "Non-success status code: $statusCode"
    puts "Response header: [CkHttpResponse_header $resp]"
    puts "Response body: [CkHttpResponse_bodyStr $resp]"
    puts "Unsuccessful."
    delete_CkHttp $http
    delete_CkXml $xml
    delete_CkHttpResponse $resp
    exit
}

set xmlResp [new_CkXml]

CkXml_LoadXml $xmlResp [CkHttpResponse_bodyStr $resp]

puts [CkXml_getXml $xmlResp]

# Use this online tool to generate parsing code from sample XML: 
# Generate Parsing Code from XML

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