Sample code for 30+ languages & platforms
Tcl

SOAP demoemision.thefactoryhka.com.pa DescargaPDF

See more REST Misc Examples

Make a SOAP call to http://demoemision.thefactoryhka.com.pa/ws/obj/v1.0/Service.svc with SOAPAction http://tempuri.org/IService/DescargaPDF

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:tem="http://tempuri.org/" xmlns:ser="http://schemas.datacontract.org/2004/07/Services.Model">
#    <soapenv:Header/>
#    <soapenv:Body>
#       <tem:DescargaPDF>
#          <tem:tokenEmpresa>?</tem:tokenEmpresa>
#          <tem:tokenPassword>?</tem:tokenPassword>
#          <tem:datosDocumento>
#             <ser:codigoSucursalEmisor>?</ser:codigoSucursalEmisor>
#              <ser:numeroDocumentoFiscal>?</ser:numeroDocumentoFiscal>
#             <ser:puntoFacturacionFiscal>?</ser:puntoFacturacionFiscal>
#             <ser:serialDispositivo>?</ser:serialDispositivo>
#             <ser:tipoDocumento>?</ser:tipoDocumento>
#             <ser:tipoEmision>?</ser:tipoEmision>
#          </tem:datosDocumento>
#       </tem:DescargaPDF>
#    </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:tem" "http://tempuri.org/"
CkXml_AddAttribute $xml "xmlns:ser" "http://schemas.datacontract.org/2004/07/Services.Model"
CkXml_UpdateChildContent $xml "soapenv:Header" ""
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:tokenEmpresa" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:tokenPassword" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:codigoSucursalEmisor" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:numeroDocumentoFiscal" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:puntoFacturacionFiscal" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:serialDispositivo" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:tipoDocumento" "?"
CkXml_UpdateChildContent $xml "soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:tipoEmision" "?"

set strXml [CkXml_getXml $xml]

CkHttp_SetRequestHeader $http "SOAPAction" "http://tempuri.org/IService/DescargaPDF"
CkHttp_SetRequestHeader $http "Content-Type" "text/xml; charset=utf-8"

set endPoint "http://demoemision.thefactoryhka.com.pa/ws/obj/v1.0/Service.svc"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpStr $http "POST" $endPoint $strXml "utf-8" "application/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