Upgrade to OpenEdge 11.7.3 or later, where the SNI support has been added for the ABL Web Services and HTTP Client.
ABL Web Services ClientThe following parameters are now available within the CONNECT() method:
- -servername : Sets the hostname for both the WSDL URL and the SOAP Endpoint.
- -wsdlServername : Sets the hostname for the WSDL URL.
- -soapServername : Sets the hostname for the SOAP Endpoint.
For example:
happsrv1:CONNECT("-WSDL https://www.example.com/wsdl -servername www.example.com").
ABL HTTP ClientA ServerNameIndicator property has been added to the ClientSocketConnectionParameters object. This sets the ABL socket's -servername property if set and when the connection is via HTTPS.
Support for the same setting has been added to the ClientLibraryBuilder and related types.
For example:
USING OpenEdge.Net.HTTP.IHttpRequest.
USING OpenEdge.Net.HTTP.IHttpResponse.
USING OpenEdge.Net.HTTP.ClientBuilder.
USING OpenEdge.Net.HTTP.RequestBuilder.
USING OpenEdge.Net.HTTP.IHttpClientLibrary.
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder.
DEFINE VARIABLE oLib AS IHttpClientLibrary NO-UNDO.
DEFINE VARIABLE oRequest AS IHttpRequest NO-UNDO.
DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
ASSIGN
oLib = ClientLibraryBuilder:Build()
:sslVerifyHost(NO)
:ServerNameIndicator('some.servername.com')
:library.
oRequest = RequestBuilder:Get('https://some.servername.com/'):Request.
oResponse = ClientBuilder:Build()
:UsingLibrary(oLib)
:Client
:Execute(oRequest).
MESSAGE oResponse:StatusCode SKIP oResponse:StatusReason SKIP VIEW-AS ALERT-BOX.