SSLHandshakeException is thrown while trying to establish a connection to the Rest API
When you attempt to establish a connection to the Fulfillment Optimizer REST APIs while running the schedule order agent, you see the SSLHandshakeException.
Symptoms
You may see one of the following messages:
OAuthHttpClient: Unexpected error = "Received fatal alert: handshake_failure". [system]: [ ]: OAuthHttpClient [Fatal Error]
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at com.ibm.jsse2.j.a(j.java:18) at com.ibm.jsse2.j.a(j.java:26) at com.ibm.jsse2.qc.b(qc.java:722)
Causes
The reason that the SSLHandshakeException is thrown in this circumstance is most likely one of
the following:
- The certificate is not properly imported into the JDK. See step 3 in Integrating the runtime adapter with your order management system for more information about importing the Fulfillment Optimizer certificate.
- Unsupported cipher suites are enabled. For more information, see Problems with REST API calls.
- The client ID or client secret is incorrect.
Diagnosing the problem
- Open the OMS installation directory and go to
/bin directory
. - Provide
-Djavax.net.debug=ssl
in the JVM arguments of the agent server. - Collect the SSL debug logs and see if the logs contain SSL protocol failure details.