Summary
Error
The remote debugging in Studio failed with an error mentioning 'An error has occurred when connecting to the engine. Check the log file for errors' and Studio.log file contained the following ERROR log messages.
2017-YY-DD 22:39:27,910 ERROR EnginesConnectionsServiceImpl.requiresAuthentication:149 error during requiresAuthentication check on https://localhost:8443/oo :
javax.net.ssl.SSLPeerUnverifiedException: Host name 'localhost' does not match the certificate subject provided by the peer (CN=myhost192)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:465)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:395)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
at com.hp.oo.studio.debugger.engine.services.EnginesConnectionsServiceImpl.requiresAuthentication(EnginesConnectionsServiceImpl.java:138)
at com.iconclude.dharma.app.OperationStudio$DebugEditorFactory.checkRequiresAuthentication(OperationStudio.java:2962)
at com.iconclude.dharma.app.OperationStudio$DebugEditorFactory.getEngineConnection(OperationStudio.java:2919)
at com.iconclude.dharma.app.OperationStudio$DebugEditorFactory.createDebugEditor(OperationStudio.java:2874)
at com.iconclude.dharma.app.JIDEDesktopManager.displayEditorForDebug(JIDEDesktopManager.java:476)
at com.iconclude.dharma.app.JIDEDesktopManager.displayDebugEditorForSubject(JIDEDesktopManager.java:466)
at com.iconclude.dharma.app.OperationStudio.showExecutionPanel(OperationStudio.java:2773)
at com.iconclude.dharma.app.actions.DebugAction$1.run(DebugAction.java:43)
at java.lang.Thread.run(Thread.java:745)
2017-YY-DD 22:39:27,988 ERROR EnginesConnectionsServiceImpl$BasicAuthenticationCommonsHttpInvokerRequestExecutor.doExecuteRequest:553 Error invoking remote service https://localhost:8443/oo/central-remoting/engineExecutionFacade
Cause
The error was an SSL communication failure and was related to the subject(CN) of the server certificate of Central. The SSL communication failed the host verification in the Studio side.
Fix
One of options would be to replace the current Central certificate with a new one with CN='<hostname_for_remote_debugging>'.
Another quick option would be to set ‘-Dssl.verifyHostName=false’ in Studio.l4j.ini.