load ./chilkat.dll
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:fis""https://eFiskalizimi.tatime.gov.al/FiscalizationService"CkXml_AddAttribute $xml "xmlns:al""https://eFiskalizimi.tatime.gov.al/FiscalizationService/schema"CkXml_AddAttribute $xml "xmlns:ds""http://www.w3.org/2000/09/xmldsig#"CkXml_UpdateChildContent $xml "soapenv:Header"""CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest"1"Id""Request"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest"1"Version""3"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|al:Header"1"UUID""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|al:Header"1"SendDateTime""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature"1"Id""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo"1"Id""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:CanonicalizationMethod"1"Algorithm""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:SignatureMethod"1"Algorithm""?"CkXml_UpdateChildContent $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:SignatureMethod|ds:HMACOutputLength""integer"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference"1"Id""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference"1"URI""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference"1"Type""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference|ds:Transforms|ds:Transform"1"Algorithm""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference|ds:DigestMethod"1"Algorithm""?"CkXml_UpdateChildContent $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignedInfo|ds:Reference|ds:DigestValue""BASE64_DATA"CkXml_UpdateChildContent $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:SignatureValue""..."CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:KeyInfo"1"Id""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:Object"1"Id""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:Object"1"MimeType""?"CkXml_UpdateAttrAt $xml "soapenv:Body|al:GetBusinessUnitsRequest|ds:Signature|ds:Object"1"Encoding""?"# In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required. CkXml_put_EmitXmlDecl $xml 0set soapRequestBody [CkXml_getXml $xml]
set endpoint "https://efiskalizimi.tatime.gov.al/FiscalizationService-v3"set soapAction "https://eFiskalizimi.tatime.gov.al/FiscalizationService/GetBusinessUnits"# For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"set contentType "text/xml"
set http [new_CkHttp]
CkHttp_ClearHeaders $http
CkHttp_SetRequestHeader $http "Content-Type" $contentType
CkHttp_SetRequestHeader $http "SOAPAction" $soapAction
# resp is a CkHttpResponseset resp [CkHttp_PostXml $http $endpoint $soapRequestBody "utf-8"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
puts "Failed to send SOAP request."
delete_CkXml $xml
delete_CkHttp $http
exit
}
# Get the XML response body.
set responseXml [new_CkXml]
CkHttpResponse_GetBodyXml $resp $responseXml
set statusCode [CkHttpResponse_get_StatusCode $resp]
puts "response status code: $statusCode"
delete_CkHttpResponse $resp
# If the status code does not indicate succcess, then show the response XML,
# which probably contains error information.if {$statusCode != 200} then {
puts [CkXml_getXml $responseXml]
delete_CkXml $xml
delete_CkHttp $http
delete_CkXml $responseXml
exit
}
puts [CkXml_getXml $responseXml]
# Parse the successful SOAP response XML.# This is a sample of the response XML, but the namespace prefixes will be different.
# We can parse the result using "*" for the namespace prefixes (see below).set GetBusinessUnitsResponse_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|(Id)"]
set GetBusinessUnitsResponse_Version [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|(Version)"]
set Header_UUID [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Header|(UUID)"]
set Header_RequestUUID [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Header|(RequestUUID)"]
set Header_SendDateTime [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Header|(SendDateTime)"]
set BusinessUnit [CkXml_getChildContent $responseXml "*:Body|*:GetBusinessUnitsResponse|*:BusinessUnits|*:BusinessUnit"]
set Signature_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|(Id)"]
set SignedInfo_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|(Id)"]
set CanonicalizationMethod_Algorithm [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:CanonicalizationMethod|(Algorithm)"]
set SignatureMethod_Algorithm [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:SignatureMethod|(Algorithm)"]
set HMACOutputLength [CkXml_getChildContent $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:SignatureMethod|*:HMACOutputLength"]
set Reference_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|(Id)"]
set Reference_URI [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|(URI)"]
set Reference_Type [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|(Type)"]
set Transform_Algorithm [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|*:Transforms|*:Transform|(Algorithm)"]
set DigestMethod_Algorithm [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|*:DigestMethod|(Algorithm)"]
set DigestValue [CkXml_getChildContent $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignedInfo|*:Reference|*:DigestValue"]
set SignatureValue [CkXml_getChildContent $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:SignatureValue"]
set KeyInfo_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:KeyInfo|(Id)"]
set Object_Id [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:Object|(Id)"]
set Object_MimeType [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:Object|(MimeType)"]
set Object_Encoding [CkXml_chilkatPath $responseXml "*:Body|*:GetBusinessUnitsResponse|*:Signature|*:Object|(Encoding)"]
delete_CkXml $xml
delete_CkHttp $http
delete_CkXml $responseXml