ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Unable to connect to Jaspersoft Studio - SSLHandshakeException: Remote host closed connection during handshake

book

Article ID: 223171

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

When trying to connect to the Jaspersoft Studio, the below error is thrown in the Studio popup window:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
 faultActor: 
 faultNode: 
 faultDetail: 
 {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
 at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1002)
 at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
 at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396)
 at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355)
 at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
 at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373)
 at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394)
 at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
 at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
 at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
 at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
 at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
 at org.apache.http.client.fluent.Request.internalExecute(Request.java:173)
 at org.apache.http.client.fluent.Executor.execute(Executor.java:262)
 at com.jaspersoft.ireport.jasperserver.ws.http.JSSCommonsHTTPSender.invoke(JSSCommonsHTTPSender.java:220)
 at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
 at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
 at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
 at org.apache.axis.client.Call.invoke(Call.java:2767)
 at org.apache.axis.client.Call.invoke(Call.java:2443)
 at org.apache.axis.client.Call.invoke(Call.java:2366)
 at org.apache.axis.client.Call.invoke(Call.java:1812)
 at com.jaspersoft.ireport.jasperserver.ws.RepositorySoapBindingStub.list(RepositorySoapBindingStub.java:328)
 at com.jaspersoft.ireport.jasperserver.ws.WSClient.getVersion(WSClient.java:150)
 at com.jaspersoft.studio.server.protocol.soap.SoapConnection.getServerInfo(SoapConnection.java:104)
 at com.jaspersoft.studio.server.protocol.soap.SoapConnection.connect(SoapConnection.java:145)
 at com.jaspersoft.studio.server.protocol.ProxyConnection.connect(ProxyConnection.java:118)
 at com.jaspersoft.studio.server.WSClientHelper.checkConnection(WSClientHelper.java:92)
 at com.jaspersoft.studio.server.wizard.ServerProfileWizard.connect(ServerProfileWizard.java:94)
 at com.jaspersoft.studio.server.wizard.ServerProfileWizard.access$1(ServerProfileWizard.java:89)
 at com.jaspersoft.studio.server.wizard.ServerProfileWizard$2.run(ServerProfileWizard.java:68)
 at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
 at sun.security.ssl.InputRecord.read(InputRecord.java:505)
 at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
 ... 37 more

Resolution

The below steps to be followed to add the certificates in the keystore folder:

  1. Download the certificate from server
  2. Run keytool -import -alias jasperserver -file C:\test.cer -keystore c:\keystore\jasperServer
  3. This will create a folder/keystore with your certificates
  4. Add the -Djavax.net.ssl.trustStore=c:\keystore\jasperServer & -Djavax.net.ssl.trustStorePassword=<password> in your jaspersoft studio .ini file (This file is usually under the location C:\Program Files\TIBCO\Jaspersoft Studio  Professional-7.9.0/Jaspersoft Studio Professional.ini
  5. Save the changes and restart the Jaspersoft Studio

Additional Information

See also: