Hi, We have recently been getting errors on our SOAP API calls. (was previously OK) MPRINT(SOAP): filename soap_in "E:\SASData\input\Admissions\enabling_ugrd_req.xml" RECFM=V LRECL=5000; MPRINT(SOAP): filename soap_out "E:\SASData\input\Admissions\enabling_ugrd_data.xml" RECFM=V LRECL=5000; MPRINT(SOAP): proc soap in=soap_in out=soap_out url="https://xxx.yyy.zzz/cgi-bin/uon.cfg/services/soap" ENVELOPE ; MPRINT(SOAP): run; ERROR: org.springframework.ws.client.WebServiceIOException: I/O error: Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure Some digging has revealed that it appears to be due to the external API target no longer supporting TLS 1.0 The SAS server is running SAS 9.4 M0 on Windows 2008 . We have done Windows patching to ensure that TLS 1.2 is on the windows server, but SAS still defaults to TLS 1.0 I've found what appears to be a likely solution - The SAS_SSL_MIN_PROTOCOL environment variable enables you to set a minimum TLS protocol that will be negotiated http://support.sas.com/documentation/cdl/en/secref/69831/HTML/default/viewer.htm#n1h5naraq9pbc1n1pk74hk1j9l6i.htm I was going to add the following to one of the config files -set "SAS_SSL_MIN_PROTOCOL=TLS1.2" The question that I'm struggling with is "what is the appropriate config file to put this variable in ?" There are lots of files scattered around - I think that it should be one of the "sasv9_usermods.cfg" files and my current best idea as to which one is in - D:\SAS\Config\Lev1\SASApp Is this correct or should I be using one in a different location ? Thanks, Mark
... View more