Remote AFX Server fails to start with an SSLHandshakeException error in RSA Identity Governance & Lifecycle
2 years ago
Originally Published: 2015-11-12
Article Number
000045534
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle 
RSA Version/Condition: All 
 
Issue
A remote AFX Server fails to start and remains in a Not running state as in the screenshot below:
 
     User-added image

The $AFX_HOME/AFX/esb/logs/esb.AFX-INIT.log file contains the following error:
 
name='endpoint.https.xxxxx.test.myaccesslive.aveksa.com.444.aveksa.afx.heartbeat', 
mep=REQUEST_RESPONSE, properties={followRedirects=false, http.method=POST}, 
transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0},
 deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, 
endpointEncoding=UTF-8, disableTransportTransformer=false}. 
Message payload is of type: PostMethod
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. Received fatal alert: handshake_failure (javax.net.ssl.SSLHandshakeException)
  com.ibm.jsse2.o:9 
(http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/net/ssl/SSLHandshakeException.html)

2. Failed to route event via endpoint: DefaultOutboundEndpoint
{endpointUri=https://xxxxx-test.myaccesslive.aveksa.com:444/aveksa/afx/heartbeat, 
connector=HttpsConnector
{

 
Cause
This problem is caused by the use of IBM JDK or JRE. This typically does not happen on an appliance because an appliance has Oracle installed software. However, a machine with a remote AFX server does not necessarily have any Oracle software installed.

AFX requires the use of Oracle JDK or OpenJDK. The use of IBM JDK/JRE will cause the startup of the AFX server to fail.
 
Resolution
Install either Oracle JDK or OpenJDK on the machine with the remote AFX Server. The IBM JDK/JRE does not need to be uninstalled but the PATH environment variable used by the AFX Server must point to the Oracle JDK or OpenJDK installation.