HTTPS support with SOAP

HTTPS, (Hypertext Transfer Protocol Secure), is not a separate protocol. It refers to the combination of a normal HTTP interaction over an encrypted Secure Sockets Layer (SSL) or Transport Layer Security (TLS) connection. HTTPS connections are often used for payment transactions on the World Wide Web and other sensitive transactions. SOAP, (originally defined as Simple Object Access Protocol), is a standard protocol used to communicate with Web Services.

In order to use HTTPS with SOAP, some prerequisites must be met. The correct versions of the porting set, 4GL Engine and Application Studio must be installed. Also, the mandatory certificates that enable HTTPS must be installed and accessible by the porting set.

Prerequisites

In order to use HTTPS with SOAP meet these prerequisites:

  • Porting set 8.7a.02
    • Porting set 8.7a.02 is the first porting set to contain proper support for HTTPS and SSL. The porting set uses the cURL and OpenSSL libraries, and offers 3GL functions to enable HTTPS.
  • 4GL Engine build 3971, solution 1009866
    • The SOAP DLL in this build of the 4GL Engine contains functions such as SoapService.SetClientCertFile() and SoapService.SetCertAuthorityDir() which are required for HTTPS.
  • Application Studio build 8.7.0.0229
    • The WSDL2Baan tool in this build of the Application Studio supports HTTPS and generates wrapper functions for using client and server certificates.
  • OpenSSL tool version 1.0 (recommended)
    • The OpenSSL command line tool is required for converting certificates from DER and PKCS12 format to PEM format. It may also be used to generate the hashed file names of server certificates (see "To generate the hashed file name of a certificate"). Furthermore, it can be used to diagnose problems connecting to web sites. If the proper certificates are already available in PEM format, and no hashed file names are needed, the OpenSSL tool is not required.
  • Perl (optional)
    • Perl (Practical Extraction and Reporting Language) is a scripting language. It is needed for the c_rehash utility script, which may be used to create hashed file names of server certificates. Note that this utility is not shipped with every distribution of OpenSSL.