Receiving error: ClassNotFoundException: com.haulmont.restapi.sys.CubaRestApiServlet

I have installed add-on REST API v7.1.0
but whenever t go to http://localhost:8080/app/rest
I receive an error : ClassNotFoundException: com.haulmont.restapi.sys.CubaRestApiServlet
as seen below:
( I am using Studio 12 with Cuba Platform version 7.1.1).
What am I doing wrong ?

27-Oct-2019 15:01:40.576 INFO [main] org.apache.catalina.core.ApplicationContext.log Initializing AtmosphereFramework
27-Oct-2019 15:01:40.940 INFO [main] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath
27-Oct-2019 15:02:00.343 INFO [main] org.apache.catalina.core.ApplicationContext.log Initializing Spring CubaDispatcherServlet 'dispatcher'
27-Oct-2019 15:02:00.898 INFO [main] org.apache.catalina.core.ApplicationContext.log Marking servlet [rest_api] as unavailable
27-Oct-2019 15:02:00.899 SEVERE [main] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [rest_api] in web application [/app] threw load() exception
 java.lang.ClassNotFoundException: com.haulmont.restapi.sys.CubaRestApiServlet
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1363)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:540)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:521)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1030)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4868)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5184)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)

27-Oct-2019 15:02:01.414 INFO [main] org.apache.catalina.core.ApplicationContext.log Initializing AtmosphereFramework
27-Oct-2019 15:02:01.415 INFO [main] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath
27-Oct-2019 15:02:29.499 INFO [main] org.apache.catalina.core.ApplicationContext.log Initializing Spring RemotingServlet 'remoting'
27-Oct-2019 15:02:30.311 INFO [main] org.apache.catalina.core.ApplicationContext.log Initializing AtmosphereFramework
27-Oct-2019 15:02:30.311 INFO [main] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath

Hello @robert.gilbert

It seems that REST API Servlet registration is in web.xml file in the root project for some reasons. Could you check it?

Regards,
Daniil

Thanks for your response.
What do you mean by “root project” ?
Please clarify your suggestion.
In which web.xml should the registration be ?

You’ve installed into some project - i’m considering it as “root project”.

In which web.xml should the registration be ?

It can be located in the web.xml in the web module.

I got it solved !

I got it working by removing the following elements from web.xml:

-removed rest_api servlet in modules/web/web/WEB-INF/web.xml
-removed rest_api servlet mapping in modules/web/web/WEB-INF/web.xml
-removed restSpringSecurityFilterChain filter in modules/web/web/WEB-INF/web.xml
-removed restSpringSecurityFilterChain filter mapping in modules/web/web/WEB-INF/web.xml

Thank you Daniil