I have create Dataservice using Micro Integrator 4.2.0 to consume data from SQL Server 2012 ,it works fine in my local instance of micro integrator using this config :
<config id="mscrm">
<property name="driverClassName">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="url">jdbc:sqlserver://********:1433;databaseName=********;integratedSecurity=false;encrypt=false</property>
<property name="username">*******</property>
<property name="password">********</property>
</config>
but in the prod instance in kubernetes cluster ,i got errors:
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:17a956f9-6d42-484f-9cff-62af192ad2f7
at org.wso2.micro.integrator.dataservices.core.description.config.RDBMSConfig.<init>(RDBMSConfig.java:39)
at org.wso2.micro.integrator.dataservices.core.description.config.ConfigFactory.getRDBMSConfig(ConfigFactory.java:91)
at org.wso2.micro.integrator.dataservices.core.description.config.ConfigFactory.createConfig(ConfigFactory.java:59)
at org.wso2.micro.integrator.dataservices.core.DataServiceFactory.createDataService(DataServiceFactory.java:168)
at org.wso2.micro.integrator.dataservices.core.DBDeployer.createDBService(DBDeployer.java:819)
at org.wso2.micro.integrator.dataservices.core.DBDeployer.processService(DBDeployer.java:1182)
I have resolved the issue by removing TLSv1, TLSv1.1 from the java.security file in JAVA 17
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves