I tried adding a new custom module in Bahmni. I seem to be getting error whenever I try to call the services inside the new module from the existing Bahmni module. The new module has two child modules viz api and omod. I tried loading module(custom) through the admin panel, and I got following error.
HTTP Status 500 - Servlet.init() for servlet openmrs threw exception
type Exception report
message Servlet.init() for servlet openmrs threw exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet openmrs threw exception _ org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)_ _ org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)_ _ org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)_ _ org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)_ _ org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)_ _ org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)_ _ java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)_ _ java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)_ _ org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)_ _ java.lang.Thread.run(Unknown Source)_ root cause
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.openmrs.module.uiframework.UiFrameworkConversionServiceFactoryBean] for bean with name ‘conversionService’ defined in URL [jar:file:/opt/openmrs/.openmrs-lib-cache/uiframework/uiframework.jar!/webModuleApplicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.openmrs.module.uiframework.UiFrameworkConversionServiceFactoryBean _ org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1328)_ _ org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:622)_ _ org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:591)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:533)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:513)_ _ org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:739)_ _ org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)_ _ org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663)_ _ org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629)_ _ org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677)_ _ org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548)_ _ org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489)_ _ org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)_ _ javax.servlet.GenericServlet.init(GenericServlet.java:158)_ _ org.openmrs.web.DispatcherServlet.init(DispatcherServlet.java:84)_ _ org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)_ _ org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)_ _ org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)_ _ org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)_ _ org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)_ _ org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)_ _ java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)_ _ java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)_ _ org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)_ _ java.lang.Thread.run(Unknown Source)_ root cause
java.lang.ClassNotFoundException: org.openmrs.module.uiframework.UiFrameworkConversionServiceFactoryBean _ org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1320)_ _ org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1173)_ _ org.openmrs.util.OpenmrsClassLoader.loadClass(OpenmrsClassLoader.java:166)_ _ java.lang.ClassLoader.loadClass(Unknown Source)_ _ org.springframework.util.ClassUtils.forName(ClassUtils.java:249)_ _ org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)_ _ org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:622)_ _ org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:591)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:533)_ _ org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:513)_ _ org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:739)_ _ org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)_ _ org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663)_ _ org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629)_ _ org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677)_ _ org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548)_ _ org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489)_ _ org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)_ _ javax.servlet.GenericServlet.init(GenericServlet.java:158)_ _ org.openmrs.web.DispatcherServlet.init(DispatcherServlet.java:84)_ _ org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)_ _ org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)_ _ org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)_ _ org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)_ _ org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)_ _ org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)_ _ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)_ _ java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)_ _ java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)_ _ org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)_ _ java.lang.Thread.run(Unknown Source)_ note The full stack trace of the root cause is available in the Apache Tomcat/8.0.12 logs.