Search code examples
sql-serverweblogicbirt

Birt report ClassNotFoundException TDSChannel$PermissiveX509TrustManager


Birt report is deployed in Weblogic 10.3.5 server. Database is MS Sql Server 2008.

sqljdbc4.jar and oda-jdbc.jar are present in WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.5.1.v20090821\drivers directory.

sqljdbc4.jar and oda-jdbc.jar are also copied to WEB-INF/lib and weblogic/APP-INF/lib folders.

Still, while running the report, I am getting ClassNotFoundException: com.microsoft.sqlserver.jdbc.TDSChannel$PermissiveX509TrustManager.

Please find below complete error stacktrace

org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
   at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1064)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1272)
   at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
   at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
   at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
   at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)
   at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
   at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
   at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   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.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
   at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
   at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
   at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
   at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3714)
   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
   at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
   at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
   at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
   at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
   at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:265)
   at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:82)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1263)
... 45 more
Caused by: java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSChannel$PermissiveX509TrustManager
   at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1244)
   at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1058)
   at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
   at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
   at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
   at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$WrappedDriver.connect(JDBCDriverManager.java:1162)
   at java.sql.DriverManager.getConnection(DriverManager.java:582)
   at java.sql.DriverManager.getConnection(DriverManager.java:154)
   at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:251)
   at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:212)
   at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:234)
   at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:160)
   at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:238)
   at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:180)
   at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:193)
   at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:181)
   at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource(DataSourceRuntime.java:209)
   at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:396)
   at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:315)
   at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:448)
   at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
   at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
   at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:144)
   at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:511)
   at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:139)
   at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:71)
   at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:254)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1818)
   at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
   at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
   at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
   at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
   at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
   at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
   at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
   at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
   at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
   at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
   at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:243)
... 47 more
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.TDSChannel$PermissiveX509TrustManager
   at org.eclipse.birt.core.framework.URLClassLoader.findClass1(URLClassLoader.java:168)
   at org.eclipse.birt.core.framework.URLClassLoader$1.run(URLClassLoader.java:154)
   at org.eclipse.birt.core.framework.URLClassLoader$1.run(URLClassLoader.java:1)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.eclipse.birt.core.framework.URLClassLoader.findClass(URLClassLoader.java:149)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 87 more

releavant pom dependencies:

    ...

    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>chartengineapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>chartitemapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>com.ibm.icu</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>coreapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>crosstabcoreapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>dataadapterapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>dataaggregationapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>dataextraction</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>dteapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>emitterconfig</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>engineapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.w3c.flute</groupId>
        <artifactId>flute</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>org.mozilla.javascript</groupId>
        <artifactId>js</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>modelapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>modelodaapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>odadesignapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>org.eclipse.emf.common</artifactId>
        <version>2.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>org.eclipse.emf.ecore</artifactId>
        <version>2.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>org.eclipse.emf.ecore.xmi</artifactId>
        <version>2.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>scriptapi</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.birt</groupId>
        <artifactId>viewservlets</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>org.w3c.css</groupId>
        <artifactId>org.w3c.css.sa</artifactId>
        <version>1.3.0</version>
    </dependency>
    <dependency>
        <groupId>axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
    </dependency>

Solution

  • The issue is resolved after removing older version of sqljdbc.jar present in WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.5.1.v20090821 location.