SOAP Procedure

Using PROC SOAP with Secure Socket Layer (SSL)

SSL and Data Encryption

SSL enables Web browsers and Web servers to communicate over a secured connection by encrypting data. Both browsers and servers encrypt data before the data is transmitted. The receiving browser or server then decrypts the data before it is processed.
Note: SSL now has a renegotiation feature that prevents unauthorized text to be added to the beginning or end of an encrypted data stream. This feature is specifically used by certificate-based client authentication. This feature disables SSL renegotiation in the Java Secure Sockets Extension (JSSE) by default. As a result, when you attempt to access a Web resource that requires certificate-based client authentication through the interception proxy, the following Java SSL error message is generated:
(javax.net.ssl.SSLException): HelloRequest followed by an unexpected handshake message
However, it is still possible to re-enable the SSL renegotiation in Java by setting the new system property
sun.security.ssl.allowUnsafeRenegotiation
to true before the JSSE library is initialized.

Making PROC SOAP Calls by Using the HTTPS Protocol

In order to make PROC SOAP calls by using the HTTPS protocol, you must configure a trust source that contains the certificate of the service to be trusted. This trust store and its password must be provided to the SAS session by setting Java system options using jreoptions. You can provide this information on the SAS command line or in a SAS configuration file. Use the following syntax. Be sure to enter the following entry on one line:
-jreoptions (-Djavax.net.ssl.trustStore=full-path-to-the-trust-store
-Djavax.net.ssl.trustStorePassword=trustStorePassword)
The following example shows how to use the entry on the SAS command line. The example uses the Windows operating environment. Be sure to enter the following entry on one line:
"C:\Program Files\SAS\SASFoundation\9.3\sas.exe" -CONFIG "C:\Program
Files\SAS\SASFoundation\9.3\nls\en\SASV9.CFG" -jreoptions 
(- Djavax.net.ssl.trustStore=C:\Documents and Settings\mydir\.keystore
-Djavax.net.ssl.trustStorePassword=trustpassword)