Camunda on JavaEE 6 (Java 8) and WidFly 17.0.6 doesn't open welcome, cockpit, tasklist, admin web pages

I’m trying to deploy standalone Camunda Java EE WebApp on Wildfly 17.0.6 and get cockpit, admin, tasklist, welcome page inside. Right now i don’t need any authentication. When I used built by Camunda standalone .war application it works properly.

exception on welcome page (for cockpit, tasklist, admin ar e the same):

ERROR [io.undertow.request] (default task-5) UT005023: Exception handling request to /camunda/app/welcome/default/: java.lang.NullPointerException
    at org.camunda.bpm.welcome.impl.web.WelcomeApplication.getPlugins(WelcomeApplication.java:65) [classes:]
    at org.camunda.bpm.welcome.impl.web.WelcomeApplication.addPluginResourceClasses(WelcomeApplication.java:57) [classes:]
    at org.camunda.bpm.welcome.impl.web.WelcomeApplication.getClasses(WelcomeApplication.java:49) [classes:]
    at org.jboss.resteasy.spi.ResteasyDeployment.processApplication(ResteasyDeployment.java:551) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:396) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:282) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:89) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:119) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36) [resteasy-jaxrs-3.7.0.Final.jar:3.7.0.Final]
    at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
    at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:303) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.core.ManagedServlet.forceInit(ManagedServlet.java:210) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletChain.forceInit(ServletChain.java:130) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:63) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) [undertow-servlet-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:364) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) [undertow-core-2.0.21.Final.jar:2.0.21.Final]
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_211]

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example.camunda</groupId>
    <artifactId>camunda-platform</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging>


    <properties>
        <camunda.version>7.18.0</camunda.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-bom</artifactId>
                <version>${camunda.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>

        <dependency>
            <groupId>org.camunda.bpm</groupId>
            <artifactId>camunda-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm</groupId>
            <artifactId>camunda-engine-cdi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.javaee</groupId>
            <artifactId>camunda-ejb-client</artifactId>
            <version>${camunda.version}</version>
        </dependency>

        <dependency>
            <groupId>org.camunda.bpm.model</groupId>
            <artifactId>camunda-xml-model</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.model</groupId>
            <artifactId>camunda-bpmn-model</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.model</groupId>
            <artifactId>camunda-cmmn-model</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.model</groupId>
            <artifactId>camunda-dmn-model</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm</groupId>
            <artifactId>camunda-engine-rest</artifactId>
            <version>${camunda.version}</version>
            <classifier>classes</classifier>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.dmn</groupId>
            <artifactId>camunda-engine-dmn</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.webapp</groupId>
            <artifactId>camunda-webapp-webjar</artifactId>
            <version>${camunda.version}</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.webapp</groupId>
            <artifactId>camunda-webapp</artifactId>
            <version>${camunda.version}</version>
            <type>war</type>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.webapp</groupId>
            <artifactId>camunda-webapp</artifactId>
            <version>${camunda.version}</version>
            <type>jar</type>
            <classifier>classes</classifier>
        </dependency>
        <dependency>
            <groupId>org.graalvm.js</groupId>
            <artifactId>js</artifactId>
            <version>23.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.graalvm.js</groupId>
            <artifactId>js-scriptengine</artifactId>
            <version>23.0.3</version>
        </dependency>
        <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>2.7.3</version>
        </dependency>

    </dependencies>


    <repositories>
        <repository>
            <id>camunda-bpm-nexus</id>
            <name>Camunda Maven Repository</name>
            <url>https://artifacts.camunda.com/artifactory/public/</url>
        </repository>
        <repository>
            <id>central</id>
            <name>Maven Central</name>
            <layout>default</layout>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>


    <build>
        <finalName>${project.artifactId}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <display-name>Camunda Platform</display-name>
    <description>Camunda Platform REST-service</description>


    <!-- Configure Camunda Servlet Process Application -->
    <context-param>
        <param-name>org.camunda.bpm.application.impl.ejb</param-name>
        <param-value>org.camunda.bpm.application.impl.ejb.DefaultEjbProcessApplication</param-value>
    </context-param>

    <!-- engines filter -->
    <filter>
        <filter-name>Engines Filter</filter-name>
        <filter-class>org.camunda.bpm.webapp.impl.engine.ProcessEnginesFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Engines Filter</filter-name>
        <url-pattern>/app/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

    <!-- welcome rest api -->
    <servlet>
        <servlet-name>welcome</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.core.Application</param-name>
            <param-value>org.camunda.bpm.welcome.impl.web.WelcomeApplication</param-value>
        </init-param>
        <init-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/app/welcome/default/</param-value>
        </init-param>
        <init-param>
            <param-name>org.camunda.bpm.welcome.impl.web.WelcomeApplication</param-name>
            <param-value>org.camunda.bpm.welcome.impl.plugin.WelcomePlugins</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>welcome</servlet-name>
        <url-pattern>/app/welcome/*</url-pattern>
    </servlet-mapping>

    <!-- cockpit rest api -->
    <servlet>
        <servlet-name>cockpit</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.core.Application</param-name>
            <param-value>org.camunda.bpm.cockpit.impl.web.CockpitApplication</param-value>
        </init-param>
        <init-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/app/cockpit</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>cockpit</servlet-name>
        <url-pattern>/app/cockpit/*</url-pattern>
    </servlet-mapping>

    <!-- admin rest api -->
    <servlet>
        <servlet-name>admin</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.core.Application</param-name>
            <param-value>org.camunda.bpm.admin.impl.web.AdminApplication</param-value>
        </init-param>
        <init-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/app/admin</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>admin</servlet-name>
        <url-pattern>/app/admin/*</url-pattern>
    </servlet-mapping>

    <!-- tasklist rest api -->
    <servlet>
        <servlet-name>tasklist</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.core.Application</param-name>
            <param-value>org.camunda.bpm.tasklist.impl.web.TasklistApplication</param-value>
        </init-param>
        <init-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/app/tasklist</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>tasklist</servlet-name>
        <url-pattern>/app/tasklist/*</url-pattern>
    </servlet-mapping>

    <!-- engine rest api (embedded) -->
    <servlet>
        <servlet-name>engine</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.core.Application</param-name>
            <param-value>org.camunda.bpm.webapp.impl.engine.EngineRestApplication</param-value>
        </init-param>
        <init-param>
            <param-name>resteasy.servlet.mapping.prefix</param-name>
            <param-value>/engine</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>engine</servlet-name>
        <url-pattern>/engine/*</url-pattern>
    </servlet-mapping>

    <!-- default error page -->
    <error-page>
        <!-- Missing resource -->
        <error-code>404</error-code>
        <location>/error-404-page.html</location>
    </error-page>
    <error-page>
        <!-- Uncaught exception -->
        <error-code>500</error-code>
        <location>/error-500-page.html</location>
    </error-page>

</web-app>

jboss-web.xml:

  <?xml version="1.0" encoding="UTF-8"?>
         <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_14_0.xsd"
                    version="14.0">
         
             <context-root>/camunda</context-root>
         
         </jboss-web>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.