Lianja
Lianja
SOAP Request to fseservicetest.sanita.finanze.it with Smart Card Authentication (TS-CNS Italian Card)
See more HTTP Misc Examples
Demonstrates sending a SOAP request to fseservicetest.sanita.finanze.it with Smart Card (TS-CNS Italian Card).Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
loXml = createobject("CkXml")
llSuccess = .F.
// --------------------------------------------------------------------------------
// Also see Chilkat's Online WSDL Code Generator
// to generate code and SOAP Request and Response XML for each operation in a WSDL.
// --------------------------------------------------------------------------------
// Create the SOAP envelope...
loXml.Tag = "soapenv:Envelope"
loXml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
loXml.AddAttribute("xmlns:stat","http://statoconsensirichiesta.xsd.fse.ini.finanze.it")
loXml.AddAttribute("xmlns:tip","http://tipodatistatoconsensi.xsd.fse.ini.finanze.it")
loXml.UpdateChildContent("soapenv:Header","")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:IdentificativoUtente","XXXXXXAAABBBCCC")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:pinCode","...")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:IdentificativoOrganizzazione","999")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:StrutturaUtente","123456789")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:RuoloUtente","ZZZ")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:ContestoOperativo","")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:IdentificativoAssistitoGenitoreTutore","")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:PresaInCarico","true")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:TipoAttivita","READ")
loXml.UpdateChildContent("soapenv:Body|stat:StatoConsensiRichiesta|stat:IdentificativoAssistitoConsenso","ABCDEFGHIJKLM")
lcSoapEnvelope = loXml.GetXml()
lcDomain = "fseservicetest.sanita.finanze.it"
lcPath = "/FseInsServicesWeb/services/fseStatoConsensi"
loReq = createobject("CkHttpRequest")
loReq.HttpVerb = "POST"
loReq.SendCharset = .F.
loReq.AddHeader("Content-Type","application/soap+xml; charset=utf-8")
loReq.Path = lcPath
llSuccess = loReq.LoadBodyFromString(lcSoapEnvelope,"utf-8")
// Load the default certificate from the smartcard currently in the reader.
// (This assumes only one reader with one smartcard containing one certificate.
// If the situation is more complex, you can do it with Chilkat, but it requires
// using the Chilkat certificate store object to get the desired certificate
// from the desired smart card.)
//
// Note: This is for Windows-only.
loCert = createobject("CkCert")
llSuccess = loCert.LoadFromSmartcard("")
if (llSuccess = .F.) then
? loCert.LastErrorText
release loHttp
release loXml
release loReq
release loCert
return
endif
// Tell the Chilkat HTTP object to use the certificate for client authentication.
llSuccess = loHttp.SetSslClientCert(loCert)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loXml
release loReq
release loCert
return
endif
loHttp.TlsVersion = "TLS 1.1"
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpSReq(lcDomain,443,.T.,loReq,loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loXml
release loReq
release loCert
release loResp
return
endif
loXmlResp = createobject("CkXml")
llSuccess = loXmlResp.LoadXml(loResp.BodyStr)
? loXmlResp.GetXml()
release loHttp
release loXml
release loReq
release loCert
release loResp
release loXmlResp