08-20-2017 04:32 PM - edited 03-14-2019 05:32 PM
I have upgraded our lab CVP to 11.6 and also our SQL server 2014 to SP2 however my JDBC driver stopped working and the error was around SSL connection , I have done some research around that and one of the solutions is to upgrade to JDBC 4.2 but that needs JRE1.8 which I guess not supported with CVP ?
at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:416)
at com.audium.server.controller.Controller.goToAction(Controller.java:4386)
at com.audium.server.controller.Controller.goToElement(Controller.java:4022)
at com.audium.server.controller.Controller.continueCall(Controller.java:3702)
at com.audium.server.controller.Controller.goToElement(Controller.java:4118)
at com.audium.server.controller.Controller.enterVoiceApplication(Controller.java:1896)
at com.audium.server.controller.Controller.newCall(Controller.java:1769)
at com.audium.server.controller.Controller.doPost(Controller.java:943)
at com.audium.server.controller.Controller.doGet(Controller.java:543)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.audium.server.AudiumException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".)
at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:367)
at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:390)
... 30 more
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2293)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2038)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)
at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:313)
... 31 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2397)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1762)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1977)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2303)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2289)
... 34 more
Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:711)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:768)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:760)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:955)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:943)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1688)
... 43 more
Thanks Remon
Solved! Go to Solution.
08-22-2017 12:06 AM
I believe customer is using a custom code which is trying to establish a SSL connection with JDBC which is failing, one of the possible cause could be TLS version, the newer JDBC may not be compatible with older TLS version 1.0/1.1, the Java 1.7 by default support TLS 1.0, creating a SSLContext with TLS 1.2 in the java code can fix the issue.
08-21-2017 09:26 AM
I recommend you also post this to the Cisco Support Community for additional information and feedback from technical experts.
https://supportforums.cisco.com/
I hope this helps.
Kelli Glass
Moderator for Cisco Customer Communities
08-22-2017 12:06 AM
I believe customer is using a custom code which is trying to establish a SSL connection with JDBC which is failing, one of the possible cause could be TLS version, the newer JDBC may not be compatible with older TLS version 1.0/1.1, the Java 1.7 by default support TLS 1.0, creating a SSLContext with TLS 1.2 in the java code can fix the issue.
11-14-2017 12:28 PM
We are getting the same SSL related error, but there is no custom Java code used. We have CVP 11.5, UCCE 11.5, sqljdbc4.jar, edited context file as suggested. Preferrably, we would like to disable SSL altogether.
12-07-2017 12:51 PM
Hi Jason,
running into the same issue here. Were you able to disable SSL - and if so, could you please share how you did that?
Kind regards,
Juan
12-07-2017 02:18 PM
I could not fix it so I had to downgrade my sql version to 2014 instead of 2014 sp2
tya main problem is the new version of the jre that supports ssl is not supported with cvp 11.6
12-07-2017 10:59 PM
Thx, appreciated!
Jre1.7 : did you try this before you downgraded sql, as that is supported by cvp (at least cvp 10.5) and might support the correct ssl version?
I had to upgrade sql to 2014sp2 when upgrading icm from 11.5 to 11.6 (lab where I use the icm db for db lookups)
Sent from my iPhone
12-08-2017 03:44 AM
You may be hitting CSCvf97245.
Add this to the VXML Service registry -Djdk.tls.client.protocols=TLSv1.2, this should make the service compatbile with TLS 1.2, which may solve your problem.
11-20-2018 09:51 PM
How do I go about adding this (-Djdk.tls.client.protocols=TLSv1.2) to the registry. I am having the same issue and trying to look for a solution.
Caused by: com.audium.server.AudiumException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916".) at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:367) at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:390) ... 26 more Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916".) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2293) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2038) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532) at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:313) ... 27 more Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916". at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2397) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1762) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1977) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2303) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2289) ... 30 more Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916 at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:711) at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:768) at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:760) at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:955) at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:943) at sun.security.ssl.InputRecord.readFully(InputRecord.java:442) at sun.security.ssl.InputRecord.read(InputRecord.java:480) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1688) ... 39 more
11-29-2018 04:06 AM
Bodbol Lyon, I have made this document, that describes the steps.
Let me know, if it help you, solve your problem.
12-02-2018 06:32 PM
Question for you Slavr, Once you write an application for DB COnnection, how can I extract the specific data from the XML document received back? If you look below, the only information I need is "Cisco_Voice" and I am unsure how to extract it from the Database Element Result.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Results><Row><EnterpriseName>Cisco_Voice</EnterpriseName></Row></Results>. <?xml version="1.0" encoding="UTF-8" standalone="no"?><Results><Row><EnterpriseName>Cisco_Voice</EnterpriseName></Row></Results>
12-08-2017 08:50 AM
We resolved the issue with the following:
We switched to using jtds-1.3.1.jar for the sql driver, and the contents of the context.xml shown below:
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Manager pathname="" />
<Resource name="jdbc/ICM"
auth="Container"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="jdbc:jtds:Sqlserver://[IP Address]:1433/atp_baA;user=cvp;password=whatever;"
/>
</Context>
11-27-2018 02:19 PM
The actual bug id for this is CSCvg20831
The fix is to go into the CVP server(s) and edit the registry to as follows and RESTART the VXML Server service:
Under "HKEY_LOCAL_MACHINE -> SOFTWARE -> Wow6432Node -> Apache Software Foundation -> Procrun 2.0 -> VXMLServer -> Parameters -> Java -> Options"
Add "-Djdk.tls.client.protocols=TLSv1.2" to the very end of that data string under options
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide