<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><dt style="box-sizing: border-box; font-weight: 700; padding-left: 7.5px; padding-right: 7.5px; position: relative; width: 79.675px; flex: 0 0 16.6667%; max-width: 100px; font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background-color: rgb(255, 255, 255); color: rgb(129, 141, 152);" class="col-12 col-sm-3 col-md-2 col-xxl-2 text-secondary">Hi team,<br></dt><dd><br></dd><dt>I am creating a new resource connected to the MySQL database using the connector on Midpoint 4.8 but I get the error: Configuration error: JDBC Driver is not found on classpath. <br></dt><div><br></div><div>I installed tomcat and followed this guide but it still doesn't work<br></div><div><a target="_blank" href="https://docs.evolveum.com/connectors/resources/databasetable/">https://docs.evolveum.com/connectors/resources/databasetable/</a>:<br></div><div>"JDBC Driver<br></div><div>The connector requires appropriate JDBC driver. The driver needs to be available to the web server. It usually has to be placed on web server classpath. E.g. this means copying the driver to $TOMCAT_HOME/lib directory if tomcat server is used and restarting the server."<br></div><div><br></div><div>Please help me find the cause and how to solve this problem.<br></div><div><br></div><div>Error log as below:<br></div><div><br></div><div><br></div><dd>Error<br></dd><dd style="box-sizing: border-box; margin-bottom: 0.5rem; margin-left: 0px; padding-left: 7.5px; padding-right: 7.5px; position: relative; width: 398.388px; flex: 0 0 83.3333%; max-width: 83.3333%; font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; color: rgb(73, 80, 87); background-color: rgb(255, 255, 255);" class="col-12 col-sm-9 col-md-10 col-xxl-10"><div style="box-sizing: border-box; display: flex !important; flex-direction: column !important; gap: 0.25rem !important;" class="d-flex flex-column gap-1"><span style="box-sizing: border-box;">Configuration error: JDBC Driver is not found on classpath.</span><span class="font" style="font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;"><span class="size" style="font-size: 0.875rem; box-sizing: border-box; white-space: pre-wrap;">com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation$TestFailedException: Configuration error: JDBC Driver is not found on classpath.
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation$TestConnectorOperation.stopIfResultNotOk(ResourceTestOperation.java:625)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation$TestConnectorOperation.testConnector(ResourceTestOperation.java:587)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation$TestConnectorOperation.execute(ResourceTestOperation.java:432)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation.testConnector(ResourceTestOperation.java:283)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation.testMainConnector(ResourceTestOperation.java:267)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation.executeTest(ResourceTestOperation.java:241)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceTestOperation.execute(ResourceTestOperation.java:206)
        at com.evolveum.midpoint.provisioning.impl.resources.ResourceManager.testResource(ResourceManager.java:241)
        at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.testResourceInternal(ProvisioningServiceImpl.java:663)
        at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.testResource(ProvisioningServiceImpl.java:650)
        at com.evolveum.midpoint.provisioning.api.ProvisioningService.testPartialConfiguration(ProvisioningService.java:955)
        at com.evolveum.midpoint.model.impl.controller.ModelController.testResourcePartialConfiguration(ModelController.java:1394)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.apache.wicket.proxy.jdk.JdkProxyFactory$JdkHandler.invoke(JdkProxyFactory.java:172)
        at jdk.proxy4/jdk.proxy4.$Proxy163.testResourcePartialConfiguration(Unknown Source)
        at com.evolveum.midpoint.gui.impl.util.ProvisioningObjectsUtil.partialConfigurationTest(ProvisioningObjectsUtil.java:519)
        at com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.basic.PartialConfigurationStepPanel.onNextPerformed(PartialConfigurationStepPanel.java:97)
        at com.evolveum.midpoint.gui.api.component.wizard.BasicWizardStepPanel$4.onSubmit(BasicWizardStepPanel.java:123)
        at org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:112)
        at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$AjaxFormSubmitter.onSubmit(AjaxFormSubmitBehavior.java:249)
        at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1371)
        at org.apache.wicket.markup.html.form.Form.process(Form.java:1033)
        at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:857)
        at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:202)
        at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:147)
        at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:630)
        at org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:300)
        at org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:274)
        at org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:222)
        at org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:202)
        at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:910)
        at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:63)
        at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:294)
        at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:255)
        at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:277)
        at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:208)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:307)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:449)
        at com.evolveum.midpoint.authentication.impl.filter.RefuseUnauthenticatedRequestFilter.doFilterInternal(RefuseUnauthenticatedRequestFilter.java:37)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:117)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at com.evolveum.midpoint.authentication.impl.filter.FinishAuthenticationFilter.doFilterInternal(FinishAuthenticationFilter.java:89)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAnonymousAuthenticationFilter.doFilter(MidpointAnonymousAuthenticationFilter.java:94)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at com.evolveum.midpoint.authentication.impl.filter.RedirectForLoginPagesWithAuthenticationFilter.doFilterInternal(RedirectForLoginPagesWithAuthenticationFilter.java:38)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:131)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:461)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter.processingOfAuthenticatedRequest(MidpointAuthFilter.java:421)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter.doFilterInternal(MidpointAuthFilter.java:127)
        at com.evolveum.midpoint.authentication.impl.filter.MidpointAuthFilter.doFilter(MidpointAuthFilter.java:95)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at com.evolveum.midpoint.authentication.impl.filter.TransformExceptionFilter.doFilterInternal(TransformExceptionFilter.java:32)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at com.evolveum.midpoint.authentication.impl.filter.SequenceAuditFilter.doFilterInternal(SequenceAuditFilter.java:90)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:151)
        at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:129)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
        at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at com.evolveum.midpoint.web.boot.TrailingSlashRedirectingFilter.doFilterInternal(TrailingSlashRedirectingFilter.java:60)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at com.evolveum.midpoint.web.boot.NodeIdHeaderValve.invoke(NodeIdHeaderValve.java:41)
        at com.evolveum.midpoint.web.boot.TomcatRootValve.invoke(TomcatRootValve.java:61)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:833)</span></span><br></div><div style="box-sizing: border-box; display: flex !important; flex-direction: column !important; gap: 0.25rem !important;" class="d-flex flex-column gap-1">Thank you,<br></div><div style="box-sizing: border-box; display: flex !important; flex-direction: column !important; gap: 0.25rem !important;" class="d-flex flex-column gap-1">Huutm</div></dd><div><br></div></div><br></body></html>