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:aru""http://arubasignservice.arubapec.it/"CkXml_UpdateChildContent $xml "soapenv:Header"""CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:binaryinput""BqozVXeZZg=="CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:certID""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:dstName""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:delegated_domain""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:delegated_password""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:delegated_user""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:ext_auth_blobvalue""BqozVXeZZg=="CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:ext_auth_value""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:ext_authtype""SMS"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:otpPwd""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:typeHSM""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:typeOtpAuth""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:user""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:identity|aru:userPWD""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:notify_id""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:notifymail""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:profile""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:requiredmark""true"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:session_id""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:signingTime""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:srcName""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:stream""BqozVXeZZg=="CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:transport""BYNARYNET"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:tsa_identity|aru:password""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:tsa_identity|aru:user""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:tsa_identity|aru:tsaurl""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:SignRequestV2|aru:signatureLevel""string"CkXml_UpdateChildContent $xml "soapenv:Body|aru:addpkcs7sign|aru:detached""true"# 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://arss.demo.firma-automatica.it/ArubaSignService/ArubaSignService"set soapAction ""# 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 binaryoutput [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:binaryoutput"]
set description [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:description"]
set dstPath [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:dstPath"]
set return_code [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:return_code"]
set status [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:status"]
set stream [CkXml_getChildContent $responseXml "*:Body|*:addpkcs7signResponse|*:return|*:stream"]
delete_CkXml $xml
delete_CkHttp $http
delete_CkXml $responseXml