Jboss Error appian 18.1, JBAS014777: Services which failed to start: service jboss.web.deployment.default-host./suite

HI im installing appian 18.1 for a local machine with windows 10.

My jboss dont start i got the message error:  JBAS014777:   Services which failed to start: service jboss.web.deployment.default-host./suite

i have installed:

  • mysql 5.7
  • jdk 1.8.0_172
  • workbench 6.3 CE
  • jboss 6.4
  • Mysql Connector/j Driver 5.1.46-bin.jar
  • My dataBases are: appian_schema and business_schema

My server.log is this.

 

7206.server.log

  Discussion posts and replies are publicly visible

  • it looks like there is problem with the DB configuration as Jboss is unable to get the lock on it, can you please check the validity of
    in appian-ds.xml,

    Please refer docs.appian.com/.../Configuring_Relational_Databases.html it might help.

    Also it looks that it is failing while schema Migration that means user that is configured in the Appian-ds.xml may not be having all the security rights on the db Schema. Check security rights as well for that particular user.
  • Using the Installation Guide as Reference, do the following:

    1.Part Five: Allow Insecure Cookies
    Open <REPO_HOME>\ear\suite.ear\web.war\WEB-INF\web.xml in a text editor.

    Remove the following lines:
    <cookie-config>
    <http-only>true</http-only>
    <secure>true</secure>
    </cookie-config>
    <tracking-mode>COOKIE</tracking-mode>
    Save the file.

    2.Part Ten: Deploy the Configurations
    Use the configure script to validate your environment's configuration and deploy Appian.
    Open the command prompt, and then run the following command: <APPIAN_HOME>\_admin\_scripts\configure\configure.bat
    Choose 4 - Validate configurations.
    Choose 5 - Deploy configurations, select 1 - <ENVIRONMENT>, and then select 3 - Deploy configurations to both. If prompted, select the option that corresponds with your version of JBoss.
    Type Q to quit.

    3.If Appian fails to start properly for any reason, check the following:

    Verify that the following file exists and does not have the extensions .undeployed, .isdeploying or .failed:
    <APPIAN_HOME>\_admin\_scripts\configure\templates\ear\suite.ear.dodeploy

    Delete the following file if it has the extensions .undeployed, .isdeploying or .failed:
    <JBOSS_HOME>\standalone\deployments\appian-mysql-ds.xml.deployed

    Hope this helps
  • this is my web.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" metadata-complete="true" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
     <display-name>WebWAR</display-name>
     <context-param>
      <param-name>ac</param-name>
      <param-value>3</param-value>
     </context-param>
     <context-param>
      <param-name>ag</param-name>
      <param-value>3</param-value>
     </context-param>
     <context-param>
      <param-name>ap</param-name>
      <param-value>3</param-value>
     </context-param>
     <context-param>
      <param-name>contextClass</param-name>
      <param-value>com.appiancorp.common.spring.SelectiveOrderedXmlWebApplicationContext</param-value>
     </context-param>
     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/conf/**/spring-*.xml</param-value>
     </context-param>
      <context-param>
        <param-name>contextInitializerClasses</param-name>
        <param-value>com.appiancorp.common.spring.ApplicationContextHolderInitializer</param-value>
      </context-param>
     <!-- Installer:Start Process Context -->
     <context-param>
      <param-name>driver-config</param-name>
      <param-value>WEB-INF/conf/process/rdbms/driver-config.xml</param-value>
     </context-param>
     <context-param>
      <param-name>file</param-name>
      <param-value>WEB-INF/config.xml,WEB-INF/conf/config-*.xml</param-value>
     </context-param>
     <!-- Installer:End Process Context -->
     <filter>
      <filter-name>userAgentFilter</filter-name>
      <filter-class>com.appiancorp.common.web.UserAgentFilter</filter-class>
     </filter>
     <filter>
      <filter-name>authProviderFilter</filter-name>
      <filter-class>com.appiancorp.security.auth.AuthProviderFilter</filter-class>
     </filter>
     <filter>
      <filter-name>authenticationLoggingFilter</filter-name>
      <filter-class>com.appiancorp.security.auth.logging.AuthenticationLoggingFilter</filter-class>
     </filter>
     <filter>
      <filter-name>corsFilter</filter-name>
      <filter-class>com.appiancorp.security.cors.CorsFilter</filter-class>
     </filter>
     <filter>
      <filter-name>encoding</filter-name>
      <filter-class>com.appiancorp.ap2.EncodingFilter</filter-class>
      <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
      </init-param>
     </filter>
     <filter>
      <filter-name>httpMethodOverrideFilter</filter-name>
      <filter-class>com.appiancorp.common.web.HttpMethodOverrideFilter</filter-class>
     </filter>
     <filter>
      <filter-name>nullByte</filter-name>
      <filter-class>com.appiancorp.ap2.NullByteInjectionFilter</filter-class>
     </filter>
     <filter>
      <filter-name>ClassParamFilter</filter-name>
      <filter-class>com.appiancorp.security.struts.ClassParamFilter</filter-class>
      <init-param>
        <param-name>excludeParams</param-name>
        <param-value>(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*</param-value>
      </init-param>
    </filter>
     <filter>
      <filter-name>environment</filter-name>
      <filter-class>com.appiancorp.ap2.environment.EnvironmentFilter</filter-class>
     </filter>
     <filter>
      <filter-name>wrap</filter-name>
      <filter-class>com.appiancorp.ap2.WrapFilter</filter-class>
      <init-param>
       <param-name>exclude-url-patterns</param-name>
       <param-value>/api/**,/saml/**,/webapi/**,/oauth/**,/internal/webapi/**,/rest/**,/s/**,/plugins/servlet/stateless/**,/**/*.gif,/**/*.png,/**/*.jpg,/**/*.jpeg,/**/*.ico,/**/*.eot,/**/*.woff,/**/*.woff2,/**/*.ttf,/**/*.svg,/**/*.htc</param-value>
      </init-param>
     </filter>
      <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
      </filter>
     <filter>
      <filter-name>cspFilter</filter-name>
      <filter-class>com.appiancorp.security.csp.CspFilter</filter-class>
      <init-param>
       <param-name>configPath</param-name>
       <param-value>/WEB-INF/conf/security/csp/CspConfiguration.json</param-value>
      </init-param>
     </filter>
      <filter>
        <filter-name>authenticationStatusHeaderFilter</filter-name>
        <filter-class>com.appiancorp.security.auth.AuthenticationStatusHeaderFilter</filter-class>
      </filter>
      <filter>
      <filter-name>UrlRewriteFilter</filter-name>
      <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
     </filter>
     <filter>
      <filter-name>WhitelistUrlRewriteFilter</filter-name>
      <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
          <param-name>confPath</param-name>
          <param-value>/WEB-INF/conf/security/uri/whitelist-urlrewrite.xml</param-value>
        </init-param>
     </filter>
     <filter>
      <filter-name>background</filter-name>
      <filter-class>com.appiancorp.asi.components.common.BackgroundFilter</filter-class>
     </filter>
     <filter>
      <filter-name>sitemesh</filter-name>
      <filter-class>com.appiancorp.ap2.PageFilter</filter-class>
     </filter>
     <filter>
      <filter-name>contentFilter</filter-name>
      <filter-class>com.appiancorp.ap2.ContentFilter</filter-class>
     </filter>
     <filter>
      <filter-name>weblogicSessionClassloaderRequestFilter</filter-name>
      <filter-class>com.appiancorp.common.web.WeblogicSessionAttributeClassLoaderRequestFilter</filter-class>
     </filter>
     <filter>
      <filter-name>mobileRedirectFilter</filter-name>
      <filter-class>com.appiancorp.ap2.MobileRedirectFilter</filter-class>
     </filter>
     <filter>
      <filter-name>forceSetPasswordFilter</filter-name>
      <filter-class>com.appiancorp.security.auth.ForceSetPasswordFilter</filter-class>
     </filter>
      <filter>
      <filter-name>frameOptionsFilter</filter-name>
      <filter-class>com.appiancorp.security.web.FrameOptionsFilter</filter-class>
     </filter>
     <filter>
      <filter-name>filter-plugin-dispatcher-before-dispatch-request</filter-name>
      <filter-class>com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter</filter-class>
      <init-param>
       <param-name>location</param-name>
       <param-value>before-dispatch</param-value>
      </init-param>
      <init-param>
       <param-name>dispatcher</param-name>
       <param-value>REQUEST</param-value>
      </init-param>
     </filter>
     <filter>
      <filter-name>filter-plugin-dispatcher-before-dispatch-forward</filter-name>
      <filter-class>com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter</filter-class>
      <init-param>
       <param-name>location</param-name>
       <param-value>before-dispatch</param-value>
      </init-param>
      <init-param>
       <param-name>dispatcher</param-name>
       <param-value>FORWARD</param-value>
      </init-param>
     </filter>
     <filter>
      <filter-name>filter-plugin-dispatcher-before-dispatch-include</filter-name>
      <filter-class>com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter</filter-class>
      <init-param>
       <param-name>location</param-name>
       <param-value>before-dispatch</param-value>
      </init-param>
      <init-param>
       <param-name>dispatcher</param-name>
       <param-value>INCLUDE</param-value>
      </init-param>
     </filter>
     <filter>
      <filter-name>filter-plugin-dispatcher-before-dispatch-error</filter-name>
      <filter-class>com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter</filter-class>
      <init-param>
       <param-name>location</param-name>
       <param-value>before-dispatch</param-value>
      </init-param>
      <init-param>
       <param-name>dispatcher</param-name>
       <param-value>ERROR</param-value>
      </init-param>
     </filter>
     <filter>
      <filter-name>nav</filter-name>
      <filter-class>com.appiancorp.ap2.NavigationFilter</filter-class>
     </filter>
     <filter>
      <filter-name>entry</filter-name>
      <filter-class>com.appiancorp.ap2.EntryFilter</filter-class>
     </filter>
     <filter>
      <filter-name>compress</filter-name>
      <filter-class>com.appiancorp.ap2.CompressionFilter</filter-class>
     </filter>
     <filter>
      <filter-name>rest-timer</filter-name>
      <filter-class>com.appiancorp.tempo.util.PerformanceLogFilter</filter-class>
     </filter>
     <filter>
      <filter-name>local-request</filter-name>
      <filter-class>com.appiancorp.common.web.ThreadLocalRequestFilter</filter-class>
     </filter>
     <filter>
      <filter-name>feed-gzip</filter-name>
      <filter-class>com.appiancorp.tempo.util.CompressionFilter</filter-class>
     </filter>
     <filter>
      <filter-name>listingsServletFilter</filter-name>
      <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
     </filter>
     <filter>
      <filter-name>JsonRpcFilter</filter-name>
      <filter-class>com.appiancorp.security.jsonrpc.JsonRpcFilter</filter-class>
     </filter>
     <filter>
      <filter-name>httpStrictTransportSecurityFilter</filter-name>
      <filter-class>com.appiancorp.common.web.HttpStrictTransportSecurityFilter</filter-class>
     </filter>
     <filter>
      <filter-name>gifImageFilter</filter-name>
      <filter-class>com.appiancorp.common.web.GifImageFilter</filter-class>
     </filter>
     <filter-mapping>
      <filter-name>httpStrictTransportSecurityFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>encoding</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>nullByte</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.none</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.frameset</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.admin</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.popup</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.layer</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>/process/forms/internal/task.pdf</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>/process/forms/internal/process.pdf</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.preview</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.print</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>ClassParamFilter</filter-name>
      <url-pattern>*.simplepopup</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>compress</filter-name>
      <url-pattern>/portal/js/constants.jsp</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>weblogicSessionClassloaderRequestFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>local-request</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>environment</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>userAgentFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>authProviderFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>authenticationLoggingFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>corsFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>httpMethodOverrideFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>mobileRedirectFilter</filter-name>
      <url-pattern>/tempo/*</url-pattern>
      <url-pattern>/sites/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>springSecurityFilterChain</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>cspFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>authenticationStatusHeaderFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>forceSetPasswordFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
      <filter-mapping>
      <filter-name>frameOptionsFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>wrap</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>gifImageFilter</filter-name>
      <url-pattern>*.gif</url-pattern>
     </filter-mapping>
     <!-- AN-46073: rest-timer and feed-gzip filters are applied before UrlRewriteFilter -->
     <filter-mapping>
      <filter-name>rest-timer</filter-name>
      <url-pattern>/api/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>rest-timer</filter-name>
      <url-pattern>/rest/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>rest-timer</filter-name>
      <url-pattern>/s/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>feed-gzip</filter-name>
      <url-pattern>/api/feed/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>UrlRewriteFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>background</filter-name>
      <url-pattern>*.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>WhitelistUrlRewriteFilter</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/SearchContent.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/SearchContent.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/contents/GetContent.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/contents/GetContent.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/getDocument.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/getDocument.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/GetDocument.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>contentFilter</filter-name>
      <url-pattern>/knowledge/GetDocument.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/ntf/emailHtml/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/collaboration/start/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/personalization/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/analytics/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/portalreport.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/queryRule.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/forums/*</url-pattern>
     </filter-mapping>
     <!-- Installer:Start Process Filter Mapping -->
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/webservices/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/process/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/process-modeler-x/*</url-pattern>
     </filter-mapping>
     <!-- Installer:End Process Filter Mapping -->
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/knowledge/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/tempo/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/design/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/rules/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/contents/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/components/grid/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/components/search/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/components/hierarchy/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/components/picker2/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/components/dialogs/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/portal/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/admin/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/applications/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/plugins/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/portal.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/portal.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/portal.admin</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/register.popup</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>sitemesh</filter-name>
      <url-pattern>/userdetail_pop.popup</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>nav</filter-name>
      <url-pattern>*.do</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>nav</filter-name>
      <url-pattern>*.bg</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>nav</filter-name>
      <url-pattern>*.none</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>listingsServletFilter</filter-name>
      <url-pattern>/logs/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>listingsServletFilter</filter-name>
      <url-pattern>/shared-logs/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
      <filter-name>filter-plugin-dispatcher-before-dispatch-request</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
     </filter-mapping>
     <filter-mapping>
      <filter-name>filter-plugin-dispatcher-before-dispatch-forward</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>FORWARD</dispatcher>
     </filter-mapping>
     <filter-mapping>
      <filter-name>filter-plugin-dispatcher-before-dispatch-include</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>INCLUDE</dispatcher>
     </filter-mapping>
     <filter-mapping>
      <filter-name>filter-plugin-dispatcher-before-dispatch-error</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>ERROR</dispatcher>
     </filter-mapping>
     <filter-mapping>
      <filter-name>JsonRpcFilter</filter-name>
      <url-pattern>/JSON-RPC</url-pattern>
     </filter-mapping>
     <!-- The entry filter must run last for it to solve the intended problem -->
     <filter-mapping>
      <filter-name>entry</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!-- Listeners are run in the order specified here on startup but in *reverse* order on shutdown -->
     <listener>
       <listener-class>com.appiancorp.common.logging.ConfigureLog4j</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.common.web.HttpSessionCreateLogger</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.rdbms.config.PrimaryDataSourceShutdown</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.common.StartupContextListener</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.common.MinimalEvaluationEnvironmentContextListener</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.common.AppianSpringContextLoaderListener</listener-class>
     </listener>
     <!-- Must come after AppianSpringContextLoaderListener -->
     <listener>
      <listener-class>com.appiancorp.object.locking.DesignObjectLockServletContextListener</listener-class>
     </listener>
     <listener>
       <listener-class>com.appiancorp.common.config.ConfigurationLoader</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.rdbms.datasource.BusinessDataSourceValidator</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.plugins.PluginLoader</listener-class>
     </listener>
     <listener>
      <!-- Must follow PluginLoader -->
      <listener-class>com.appiancorp.applications.BundledApplicationsLoader</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.content.TransientFilesCleanup</listener-class>
     </listener>
     <listener>
      <listener-class>com.appiancorp.common.event.HttpSessionListenerImpl</listener-class>
     </listener>
     <listener>
      <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
     </listener>
     <!-- Used to retrieve the HttpRequestContext -->
     <listener>
      <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
     </listener>
     <!-- Used to disconnect a user from a PhpMyAdmin session-->
     <listener>
      <listener-class>com.appiancorp.security.auth.phpmyadmin.PhpMyAdminLogoutSessionListener</listener-class>
     </listener>
     <servlet>
      <servlet-name>cors-servlet</servlet-name>
      <servlet-class>com.appiancorp.security.cors.CorsServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>webapi-servlet</servlet-name>
      <servlet-class>com.appiancorp.webapi.WebApiServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>forgotpassword-servlet</servlet-name>
      <servlet-class>com.appiancorp.security.auth.forgotpassword.ForgotPasswordRequestServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>saml-test-servlet</servlet-name>
      <servlet-class>com.appiancorp.security.auth.saml.SamlTestServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>saml-logout-servlet</servlet-name>
      <servlet-class>com.appiancorp.security.auth.saml.SamlLogoutServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>oauth-servlet</servlet-name>
      <servlet-class>com.appiancorp.connectedsystems.http.oauth.OAuthServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>plugin-servlet</servlet-name>
      <servlet-class>com.atlassian.plugin.servlet.ServletModuleContainerServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>login-page</servlet-name>
      <servlet-class>com.appiancorp.ap2.LoginPageServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>file-server</servlet-name>
      <servlet-class>com.appiancorp.plugins.servlet.FileServerServlet</servlet-class>
      <load-on-startup>4</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>get-notification-template</servlet-name>
      <servlet-class>com.appiancorp.ap2.ns.GetNotificationTemplate</servlet-class>
      <load-on-startup>2</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>init-email-ntf-request</servlet-name>
      <servlet-class>com.appiancorp.ap2.ns.InitEmailNtfRequest</servlet-class>
      <load-on-startup>2</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>com.appiancorp.common.struts.AppianActionServlet</servlet-class>
      <init-param>
       <param-name>chainConfig</param-name>
       <param-value>org/apache/struts/tiles/chain-config.xml</param-value>
      </init-param>
      <!--
        You no longer need to update the config parameter with your struts config files.  The Struts Action
        Servlet has been overridden to use the Appian Config framework.  By default, this will scan all directories
        for files fitting the pattern **/struts-config-*.xml.  In addition, you can manually add files that dont
        fit this pattern.  Please refer to /WEB-INF/config.xml.
      -->
      <init-param>
       <param-name>detail</param-name>
       <param-value>2</param-value>
      </init-param>
      <load-on-startup>2</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>suggest</servlet-name>
      <servlet-class>com.appiancorp.asi.components.autocomplete.SuggestServlet</servlet-class>
      <load-on-startup>8</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>intuitiveurl</servlet-name>
      <servlet-class>com.appiancorp.ap2.IntuitiveUrlServlet</servlet-class>
      <load-on-startup>8</load-on-startup>
     </servlet>
     <!-- GWT Start -->
     <servlet>
      <servlet-name>appServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.appbuilder.server.ApplicationRPCServiceImpl</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>dataStoreServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.datastore.server.DataStoreRPCServiceImpl</servlet-class>
     </servlet>
     <servlet>
        <servlet-name>remoteLogging</servlet-name>
        <servlet-class>com.appiancorp.common.logging.GWTRemoteLoggingService</servlet-class>
      </servlet>
     <servlet>
      <servlet-name>dataTypeServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.datatype.server.DataTypeRPCServiceImpl</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>impactAnalysisServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.ia.server.IaRpcServiceImpl</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>licenseAdministrationServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.licenseadministration.server.LicenseAdministrationRPCServiceImpl</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>queryRulesServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.queryrule.server.QueryRulesRpcServiceImpl</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempoSvcServlet</servlet-name>
      <servlet-class>com.appiancorp.gwt.tempo.server.TempoRpcServiceImpl</servlet-class>
     </servlet>
     <!-- GWT End -->
     <servlet>
      <servlet-name>environmenturl</servlet-name>
      <servlet-class>com.appiancorp.ap2.environment.EnvironmentUrlServlet</servlet-class>
      <load-on-startup>8</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>download</servlet-name>
      <servlet-class>com.appiancorp.km.servlet.Download</servlet-class>
      <load-on-startup>4</load-on-startup>
     </servlet>
     <servlet>
      <servlet-name>downloadfromurl</servlet-name>
      <servlet-class>com.appiancorp.ac.servlet.DownloadFromUrl</servlet-class>
      <load-on-startup>7</load-on-startup>
     </servlet>
     <!--
      <servlet>
        <servlet-name>initializesearch</servlet-name>
        <servlet-class>com.appiancorp.search.servlet.GenerateSearchIndex</servlet-class>
        <load-on-startup>10</load-on-startup>
      </servlet>
    
     Installer:Start Process Services -->
     <servlet>
      <servlet-name>pmws</servlet-name>
      <servlet-class>com.appiancorp.process.webservices.pmserver.PMServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
      <servlet-class>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-class>
     </servlet>
     <!-- Kavachart -->
     <servlet>
      <servlet-name>com.ve.kavachart.servlet.ChartStream</servlet-name>
      <servlet-class>com.ve.kavachart.servlet.ChartStream</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>com.ve.kavachart.servlet.LoadBalancedChartServlet</servlet-name>
      <servlet-class>com.ve.kavachart.servlet.LoadBalancedChartServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>com.ve.kavachart.servlet.ChartServlet</servlet-name>
      <servlet-class>com.ve.kavachart.servlet.ChartServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>com.ve.kavachart.servlet.PHPChartStreamServlet</servlet-name>
      <servlet-class>com.ve.kavachart.servlet.PHPChartStreamServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>com.ve.kavachart.servlet.JavaScriptStreamChartServlet</servlet-name>
      <servlet-class>com.ve.kavachart.servlet.JavaScriptStreamChartServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>webpart</servlet-name>
      <servlet-class>com.appiancorp.sharepoint.webpart.WebPartServlet</servlet-class>
      <init-param>
       <param-name>SecretKey</param-name>
       <param-value>THE_SECRET_KEY_VALUE</param-value>
      </init-param>
     </servlet>
     <!--servlet>
      <servlet-name>tempo-feed-servlet</servlet-name>
      <servlet-class>org.apache.abdera.protocol.server.servlet.AbderaServlet</servlet-class>
      <init-param>
       <param-name>org.apache.abdera.protocol.server.Provider</param-name>
       <param-value>com.appiancorp.tempo.feed.FeedProvider</param-value>
      </init-param>
     </servlet-->
     <servlet>
      <servlet-name>tempo-user-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.UserInfoServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-icon-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.IconServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-approve-inline</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.ApproveInlineTaskServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-groups-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.TempoGroupsServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-open-a-case-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.OpenACaseServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-subscription-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.SubscriptionServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-favorite-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.FavoriteServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-file-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.FileServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-upload-servlet</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.UploadServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>tempo-upload-servlet-encrypted</servlet-name>
      <servlet-class>com.appiancorp.tempo.api.EncryptedUploadServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>embedded-redirect-servlet</servlet-name>
      <servlet-class>com.appiancorp.embedded.http.RedirectServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>dblogin</servlet-name>
      <servlet-class>com.appiancorp.security.auth.phpmyadmin.PhpMyAdminLoginServlet</servlet-class>
     </servlet>
     <servlet>
      <servlet-name>listings</servlet-name>
      <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
      <init-param>
       <param-name>debug</param-name>
       <param-value>0</param-value>
      </init-param>
      <init-param>
       <param-name>listings</param-name>
       <param-value>true</param-value>
      </init-param>
     </servlet>
     <servlet>
      <servlet-name>office-integrations-servlet</servlet-name>
      <servlet-class>com.appiancorp.ws.office.OfficeIntegrationServlet</servlet-class>
     </servlet>
    
     <!-- Start Prometheus exporter -->
     <servlet>
      <servlet-name>prometheusexporter</servlet-name>
      <servlet-class>com.appiancorp.common.monitoring.AppianMetricsServlet</servlet-class>
     </servlet>
     <servlet-mapping>
      <servlet-name>prometheusexporter</servlet-name>
      <url-pattern>/metrics</url-pattern>
     </servlet-mapping>
     <!-- End Prometheus exporter -->
    
     <servlet-mapping>
      <servlet-name>webapi-servlet</servlet-name>
      <url-pattern>/webapi/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>oauth-servlet</servlet-name>
      <url-pattern>/oauth/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>forgotpassword-servlet</servlet-name>
      <url-pattern>/forgotpasswordrequest</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>saml-test-servlet</servlet-name>
      <url-pattern>/saml/AssertionConsumer</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>saml-logout-servlet</servlet-name>
      <url-pattern>/saml/LogoutConsumer</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
       <servlet-name>webapi-servlet</servlet-name>
       <url-pattern>/internal/webapi/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>cors-servlet</servlet-name>
      <url-pattern>/cors</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
       <servlet-name>cors-servlet</servlet-name>
       <url-pattern>/cors/ping</url-pattern>
      </servlet-mapping>
     <servlet-mapping>
      <servlet-name>cors-servlet</servlet-name>
      <url-pattern>/cors/wc</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>webpart</servlet-name>
      <url-pattern>/webpart/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>plugin-servlet</servlet-name>
      <url-pattern>/plugins/servlet/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>file-server</servlet-name>
      <url-pattern>/download/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
      <url-pattern>/JSON-RPC</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>pmws</servlet-name>
      <url-pattern>/webservice/processmodel/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>suggest</servlet-name>
      <url-pattern>/suggest/*</url-pattern>
     </servlet-mapping>
     <!-- GWT Start -->
     <servlet-mapping>
      <servlet-name>appServlet</servlet-name>
      <url-pattern>/masterapp/app</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
       <servlet-name>remoteLogging</servlet-name>
       <url-pattern>/tempo/remote_logging</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>dataStoreServlet</servlet-name>
      <url-pattern>/masterapp/datastore</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>dataTypeServlet</servlet-name>
      <url-pattern>/masterapp/datatype</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>impactAnalysisServlet</servlet-name>
      <url-pattern>/masterapp/impactAnalysis</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>licenseAdministrationServlet</servlet-name>
      <url-pattern>/masterapp/licenseadministration</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>queryRulesServlet</servlet-name>
      <url-pattern>/masterapp/queryRule</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempoSvcServlet</servlet-name>
      <url-pattern>/tempo/tempoSvc</url-pattern>
     </servlet-mapping>
     <!-- GWT End -->
     <servlet-mapping>
      <servlet-name>environmenturl</servlet-name>
      <url-pattern>/apps/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>environmenturl</servlet-name>
      <url-pattern>/designer/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/content/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/thread/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/forum/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/user/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/group/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/page/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/proc/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/report/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/task/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>intuitiveurl</servlet-name>
      <url-pattern>/model/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>login-page</servlet-name>
      <url-pattern>/portal/loginPage</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.bg</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>get-notification-template</servlet-name>
      <url-pattern>/portal/getNotificationTemplate.none</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>init-email-ntf-request</servlet-name>
      <url-pattern>/portal/initEmailNtfRequest.none</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.none</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.frameset</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.admin</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.popup</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.layer</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>/process/forms/internal/task.pdf</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>/process/forms/internal/process.pdf</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.preview</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.print</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.simplepopup</url-pattern>
     </servlet-mapping>
     <!-- Installer:Start Collaboration -->
     <servlet-mapping>
      <servlet-name>download</servlet-name>
      <url-pattern>/collaboration/download</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>download</servlet-name>
      <url-pattern>/knowledge/download</url-pattern>
     </servlet-mapping>
     <!-- Installer:End Collaboration -->
     <servlet-mapping>
      <servlet-name>downloadfromurl</servlet-name>
      <url-pattern>/doc/*</url-pattern>
     </servlet-mapping>
     <!-- Kavachart -->
     <servlet-mapping>
      <servlet-name>com.ve.kavachart.servlet.ChartStream</servlet-name>
      <url-pattern>/servlet/com.ve.kavachart.servlet.ChartStream</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>com.ve.kavachart.servlet.LoadBalancedChartServlet</servlet-name>
      <url-pattern>/servlet/com.ve.kavachart.servlet.LoadBalancedChartStream</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>com.ve.kavachart.servlet.PHPChartStreamServlet</servlet-name>
      <url-pattern>/KavaChartStream</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>com.ve.kavachart.servlet.JavaScriptStreamChartServlet</servlet-name>
      <url-pattern>/AjaxChartStream</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>com.ve.kavachart.servlet.ChartServlet</servlet-name>
      <url-pattern>/KavaChart</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
     <!--
       Tempo generates URLs to resources served by this servlet.  If you change
       this URL mapping, you need to update:
         com.appiancorp.tempo.feed.UserInfoHelper
      -->
      <servlet-name>tempo-user-servlet</servlet-name>
      <url-pattern>/api/user/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-icon-servlet</servlet-name>
      <url-pattern>/api/icon/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-groups-servlet</servlet-name>
      <url-pattern>/api/groups/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-approve-inline</servlet-name>
      <url-pattern>/api/tempo/approveinline/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-open-a-case-servlet</servlet-name>
      <url-pattern>/api/tempo/open-a-case/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-subscription-servlet</servlet-name>
      <url-pattern>/api/tempo/subscription/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-favorite-servlet</servlet-name>
      <url-pattern>/api/tempo/favorite/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-file-servlet</servlet-name>
      <url-pattern>/api/tempo/file/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-upload-servlet</servlet-name>
      <url-pattern>/tempo/file-web/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>tempo-upload-servlet-encrypted</servlet-name>
      <url-pattern>/tempo/file-web-encrypt/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>embedded-redirect-servlet</servlet-name>
      <url-pattern>/embedded/redirect</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>dblogin</servlet-name>
      <url-pattern>/dblogin</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>listings</servlet-name>
      <url-pattern>/logs</url-pattern>
     </servlet-mapping>
      <servlet-mapping>
        <servlet-name>listings</servlet-name>
        <url-pattern>/logs/*</url-pattern>
      </servlet-mapping>
     <servlet-mapping>
      <servlet-name>office-integrations-servlet</servlet-name>
      <url-pattern>/integrations/office/*</url-pattern>
     </servlet-mapping>
     <session-config>
      <!--
        The timeout should be at least 5 minutes more than the value given to
        resources.appian.ap.application.appian.ap.session.timeoutwarn
        in custom.properties.
      -->
      <session-timeout>65</session-timeout>
      <!--
       <cookie-config>
        <http-only>true</http-only>
        <secure>true</secure>
      </cookie-config>
      <tracking-mode>COOKIE</tracking-mode>
      -->
    </session-config>
     <!-- #41835: WebLogic and WebShere don't have the mime-mapping for PNG extension by default -->
     <mime-mapping>
      <extension>png</extension>
      <mime-type>image/png</mime-type>
     </mime-mapping>
     <!-- AN-45117: ICO files are provided by the REST service as octet-stream content, IE needs the image/x-icon -->
     <mime-mapping>
      <extension>ico</extension>
      <mime-type>image/x-icon</mime-type>
     </mime-mapping>
     <!-- See http://en.wikipedia.org/wiki/HTML_Components for details -->
     <mime-mapping>
      <extension>htc</extension>
      <mime-type>text/x-component</mime-type>
     </mime-mapping>
     <mime-mapping>
      <extension>log</extension>
      <mime-type>text/plain</mime-type>
     </mime-mapping>
     <error-page>
      <error-code>400</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>401</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>402</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>403</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>404</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>405</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>406</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>407</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>408</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>409</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>410</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>411</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>412</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>413</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>414</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>415</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>416</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>417</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>418</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>419 </error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>422</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>423</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>424</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>426</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>428</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>429</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>431</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <error-page>
      <error-code>500</error-code>
      <location>/framework/error/genericerror.jsp</location>
     </error-page>
     <!-- to keep backwards compatibility with v2.3, we disable el expressions -->
     <jsp-config>
      <jsp-property-group>
       <url-pattern>*.jsp</url-pattern>
       <el-ignored>true</el-ignored>
      </jsp-property-group>
     </jsp-config>
     <security-constraint>
      <display-name>APIs</display-name>
      <web-resource-collection>
       <web-resource-name>Web APIs</web-resource-name>
       <url-pattern>/api/*</url-pattern>
       <url-pattern>/webapi/*</url-pattern>
       <url-pattern>/internal/webapi/*</url-pattern>
       <url-pattern>/rest/*</url-pattern>
       <url-pattern>/plugins/servlet/stateless/*</url-pattern>
       <url-pattern>/metrics/*</url-pattern>
       <http-method>GET</http-method>
       <http-method>POST</http-method>
       <http-method>PUT</http-method>
       <http-method>DELETE</http-method>
       <http-method>HEAD</http-method>
       <http-method>OPTIONS</http-method>
      </web-resource-collection>
     </security-constraint>
     <security-constraint>
      <display-name>Restrict unsafe HTTP methods</display-name>
      <web-resource-collection>
       <web-resource-name>All</web-resource-name>
       <description>Restrict unsafe HTTP methods</description>
       <url-pattern>/*</url-pattern>
       <http-method>DELETE</http-method>
       <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
       <description>By not defining any role-names,
                         we disallow anyone from using the
                         http-methods defined above</description>
      </auth-constraint>
     </security-constraint>
    </web-app>
    

    this is my standalone.xml.<environment>

    <?xml version='1.0' encoding='UTF-8'?>
    
    <server xmlns="urn:jboss:domain:1.7">
        <extensions>
            <extension module="org.jboss.as.clustering.infinispan"/>
            <extension module="org.jboss.as.connector"/>
            <extension module="org.jboss.as.deployment-scanner"/>
            <extension module="org.jboss.as.ee"/>
            <extension module="org.jboss.as.ejb3"/>
            <extension module="org.jboss.as.jaxrs"/>
            <extension module="org.jboss.as.jdr"/>
            <extension module="org.jboss.as.jmx"/>
            <extension module="org.jboss.as.jpa"/>
            <extension module="org.jboss.as.jsf"/>
            <extension module="org.jboss.as.logging"/>
            <extension module="org.jboss.as.mail"/>
            <extension module="org.jboss.as.messaging"/>
            <extension module="org.jboss.as.naming"/>
            <extension module="org.jboss.as.pojo"/>
            <extension module="org.jboss.as.remoting"/>
            <extension module="org.jboss.as.sar"/>
            <extension module="org.jboss.as.security"/>
            <extension module="org.jboss.as.threads"/>
            <extension module="org.jboss.as.transactions"/>
            <extension module="org.jboss.as.web"/>
            <extension module="org.jboss.as.webservices"/>
            <extension module="org.jboss.as.weld"/>
        </extensions>
        <system-properties>
            <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="5000"/>
        </system-properties>
        <management>
            <security-realms>
                <security-realm name="ManagementRealm">
                    <authentication>
                        <local default-user="$local" skip-group-loading="true"/>
                        <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization map-groups-to-roles="false">
                        <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
                <security-realm name="ApplicationRealm">
                    <authentication>
                        <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                        <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization>
                        <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
            </security-realms>
            <audit-log>
                <formatters>
                    <json-formatter name="json-formatter"/>
                </formatters>
                <handlers>
                    <file-handler name="file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
                </handlers>
                <logger log-boot="true" log-read-only="false" enabled="false">
                    <handlers>
                        <handler name="file"/>
                    </handlers>
                </logger>
            </audit-log>
            <management-interfaces>
                <native-interface security-realm="ManagementRealm">
                    <socket-binding native="management-native"/>
                </native-interface>
                <http-interface security-realm="ManagementRealm">
                    <socket-binding http="management-http"/>
                </http-interface>
            </management-interfaces>
            <access-control provider="simple">
                <role-mapping>
                    <role name="SuperUser">
                        <include>
                            <user name="$local"/>
                        </include>
                    </role>
                </role-mapping>
            </access-control>
        </management>
        <profile>
            <subsystem xmlns="urn:jboss:domain:messaging:1.1">
                <hornetq-server>
                    <persistence-enabled>true</persistence-enabled>
                    <security-domain>messaging</security-domain>
                    <journal-file-size>102400</journal-file-size>
                    <journal-min-files>2</journal-min-files>
    
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
    
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-acceptor>
                        <in-vm-acceptor name="in-vm" server-id="0"/>
                    </acceptors>
    
                    <broadcast-groups>
                        <broadcast-group name="appian-broadcast-group">
                            <socket-binding>messaging-group</socket-binding>
                            <broadcast-period>5000</broadcast-period>
                            <connector-ref>
                                netty
                            </connector-ref>
                        </broadcast-group>
                    </broadcast-groups>
    
                    <discovery-groups>
                        <discovery-group name="appian-discovery-group">
                            <socket-binding>messaging-group</socket-binding>
                            <refresh-timeout>10000</refresh-timeout>
                        </discovery-group>
                    </discovery-groups>
    
                    <security-settings>
                        <security-setting match="#">
                            <permission type="send" roles="guest"/>
                            <permission type="consume" roles="guest"/>
                        </security-setting>
                    </security-settings>
    
                    <address-settings>
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <message-counter-history-day-limit>10</message-counter-history-day-limit>
                        </address-setting>
                    </address-settings>
    
                    <jms-connection-factories>
                        <connection-factory name="ProcessIntegrationConnectionFactory">
                            <connectors>
                                <connector-ref connector-name="netty"/>
                            </connectors>
                            <entries>
                                <entry name="jms/AppianProcessIntegrationConnectionFactory"/>
                                <entry name="java:jboss/exported/jms/AppianProcessIntegrationConnectionFactory"/>
                            </entries>
                        </connection-factory>
                        <pooled-connection-factory name="hornetq-ra">
                            <transaction mode="xa"/>
                            <connectors>
                                <connector-ref connector-name="in-vm"/>
                            </connectors>
                            <entries>
                                <entry name="java:/JmsXA"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
    
                    <jms-destinations>
                        <jms-queue name="jms/ProcessQueue">
                            <entry name="jms/AppianProcessIntegrationQueue"/>
                            <entry name="java:jboss/exported/jms/AppianProcessIntegrationQueue"/>
                        </jms-queue>
                    </jms-destinations>
    
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:logging:1.5">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <named-formatter name="COLOR-PATTERN"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <named-formatter name="PATTERN"/>
                    </formatter>
                    <file relative-to="jboss.server.log.dir" path="server.log"/>
                    <suffix value=".yyyy-MM-dd"/>
                    <append value="true"/>
                </periodic-rotating-file-handler>
                <logger category="com.arjuna">
                    <level name="WARN"/>
                </logger>
                <logger category="org.apache.tomcat.util.modeler">
                    <level name="WARN"/>
                </logger>
                <logger category="org.jboss.as.config">
                    <level name="DEBUG"/>
                </logger>
                <logger category="sun.rmi">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb.config">
                    <level name="ERROR"/>
                </logger>
                <logger category="org.jboss.as.server.deployment"> <!-- Added this element -->
                   <level name="ERROR"/>
          		</logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="CONSOLE"/>
                        <handler name="FILE"/>
                    </handlers>
                </root-logger>
                <formatter name="PATTERN">
                    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <formatter name="COLOR-PATTERN">
                    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:datasources:1.2">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <drivers>
                        <driver name="h2" module="com.h2database.h2">
                            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.mysql.jdbc" module="com.mysql.jdbc">
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                			<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                        </driver>
                        <!--
                        <driver name="oracle.jdbc" module="oracle.jdbc">
                            <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.microsoft.sqlserver.jdbc" module="com.microsoft.sqlserver.jdbc">
                            <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.ibm.db2.jcc" module="com.ibm.db2.jcc">
                            <xa-datasource-class>com.ibm.db2.jcc.DB2Driver</xa-datasource-class>
                        </driver>
                        -->
                    </drivers>
                </datasources>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
                <deployment-scanner name="appian" path="${appian.home.ear}" auto-deploy-exploded="false" auto-deploy-zipped="false" auto-deploy-xml="false" deployment-timeout="3600" scan-interval="5000"/>
                <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ee:1.2">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
                <annotation-property-replacement>false</annotation-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.5">
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                </mdb>
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <pools>
                    <bean-instance-pools>
                        <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="UnattendedRequestPool" max-pool-size="30" instance-acquisition-timeout="15" instance-acquisition-timeout-unit="MINUTES"/>
                    </bean-instance-pools>
                </pools>
                <caches>
                    <cache name="simple" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default" default-data-store="default-file-store">
                    <data-stores>
                        <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                    </data-stores>
                </timer-service>
                <remote connector-ref="remoting-connector" thread-pool-name="default"/>
                <thread-pools>
                    <thread-pool name="default">
                        <max-threads count="10"/>
                        <keepalive-time time="100" unit="milliseconds"/>
                    </thread-pool>
                </thread-pools>
                <default-security-domain value="other"/>
                <default-missing-method-permissions-deny-access value="true"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.5">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                <bean-validation enabled="true"/>
                <default-workmanager>
                    <short-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </short-running-threads>
                    <long-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </long-running-threads>
                </default-workmanager>
                <cached-connection-manager/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                <expose-resolved-model/>
                <expose-expression-model/>
                <remoting-connector/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
            <subsystem xmlns="urn:jboss:domain:mail:1.2">
                <mail-session name="default" jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.4">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.2">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
            <subsystem xmlns="urn:jboss:domain:security:1.2">
                <security-domains>
                    <security-domain name="other" cache-type="default">
                        <authentication>
                            <login-module code="Remoting" flag="optional">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                            <login-module code="RealmDirect" flag="required">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                        </authentication>
                    </security-domain>
    				
                    <security-domain name="jboss-web-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="jboss-ejb-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
    		        <security-domain name="messaging" cache-type="default">
    		          <authentication>
    		            <login-module code="RealmUsersRoles" flag="required">
    		              <module-option name="unauthenticatedIdentity" value="guest"/>
    		              <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/>
    		              <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/>
    		            </login-module>
    		          </authentication>
    		        </security-domain>
    		        <security-domain name="ds-name-security-primary" cache-type="default">
                        <authentication>
                            <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                                   <module-option name="username" value="root"/>
                                    <module-option name="password" value="4e652bb02f2f5835"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>					
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.5">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                <endpoint-config name="Standard-Endpoint-Config"/>
                <endpoint-config name="Recording-Endpoint-Config">
                    <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                        <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                    </pre-handler-chain>
                </endpoint-config>
                <client-config name="Standard-Client-Config"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
        </profile>
        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <!-- TODO - only show this if the jacorb subsystem is added  -->
            <interface name="unsecure">
                <!--
                  ~  Used for IIOP sockets in the standard configuration.
                  ~                  To secure JacORB you need to setup SSL
                  -->
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>
        <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
            <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
            <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
            <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="remoting" port="4447"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:233.252.134.134}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>
    </server>
    

    adn this is my appian-mysql-ds.xml.<environment>

      <!-- System Datasource -->
      
      <xa-datasource 
          jndi-name="jdbc/AppianDS" 
          pool-name="MySqlDS"
          enabled="true" 
          use-java-context="false">
        <xa-datasource-property name="URL">jdbc:mysql://localhost:3306/appian_schema?useOldAliasMetadataBehavior=true</xa-datasource-property>
        <xa-datasource-property name="useUnicode">true</xa-datasource-property>
        <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
        <driver>com.mysql.jdbc</driver>
        <security>
          <security-domain>ds-name-security-primary</security-domain>
        </security>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <xa-pool>
          <min-pool-size>5</min-pool-size>
          <max-pool-size>100</max-pool-size>
        </xa-pool>
        <timeout>
          <blocking-timeout-millis>5000</blocking-timeout-millis>
          <idle-timeout-minutes>5</idle-timeout-minutes>
        </timeout>
      </xa-datasource>
    			</datasources>
    
    

    i give all the priviligies to my db´s.

    and the error still the same.

    i can see that i can connect to my bd because it cant see any tables in there. ¿HOW CAN I SEE IF IS A SECCESFULL CONECTION?

  • my custom.properties.dev

    ####################### custom.properties example file ########################
    ##                                                                           ##
    ## NOTE: DO NOT simply rename this file custom.properties.                   ##
    ##                                                                           ##
    ## This file contains examples of entries for the custom.properties override ##
    ## file.  The custom.properties file is not installed by default and must be ##
    ## created in order to override the default value of a property.  Once       ##
    ## present, the custom.properties file will not be overwritten by subsequent ##
    ## upgrade installations.                                                    ##
    ## The values given in this file are the default values of the configuration ##
    ## properties. Override a property's default value by copying the relevant   ##
    ## entry from this file and placing it in conf/custom.properties with a new  ##
    ## value.  Properties that have no default have <PROVIDE A VALUE> listed as  ##
    ## the value and must be given a value specific to your environment in order ##
    ## to be used. All of the properties are commented with a single #.  You     ##
    ## will have to uncomment the property and give it a value when you copy to  ##
    ## custom.properties.                                                        ##
    ##                                                                           ##
    ## The most commonly configured properties are listed here.                  ##
    ###############################################################################
    
    #################
    #### General ####
    #################
    
    ## Specifying the scheme. Necessary when SSL is not performed at the app server
    ## level but enabled at different layer.
    #conf.suite.SCHEME=https
    conf.suite.SCHEME=http
    
    ## Used by both App Server and Engines to build up base URLs for links
    #conf.suite.APPLICATION_CONTEXT=suite
    
    ## The SERVER_AND_PORT property should be in the format server:port.
    ## Do not specify the :port if the port is 80 and the SCHEME is http, or the
    ## port is 443 and SCHEME is https.  This is the hostname and port portion of
    ## the URL viewed by end users in links (e.g., links in emails)
    #conf.suite.SERVER_AND_PORT=<PROVIDE A VALUE>:8080
    conf.suite.SERVER_AND_PORT=L0000887.vectoritcgroup.com:8080
    #conf.suite.SERVER_AND_PORT=localhost:8080
    ##Cambien por localhost el FQDN
    
    ## The STATIC_PORTAL_CSS_SOURCE_URL, STATIC_FORMS_JS_SOURCE_URL, and
    ## STATIC_PORTAL_JS_SOURCE_URL allow specifying an external host
    ## for static javascript and CSS resources, to off-load rendering from
    ## the main server.
    #conf.static.STATIC_PORTAL_CSS_SOURCE_URL=
    #conf.static.STATIC_FORMS_JS_SOURCE_URL=
    #conf.static.STATIC_PORTAL_JS_SOURCE_URL=
    
    ## The BASE_PATH is the path to the directory that contains the accdocs*
    ## directories referenced in server/_conf/partition.xml. Set this prior to
    ## migration if upgrading from a previous version and the new installation is
    ## in a different location on the file system from the previous installation.
    ## NOTE: The path separator must be a forward slash ("/"), even if using
    ## Windows.
    #conf.suite.BASE_PATH=
    
    ## The location of the log files.
    #conf.suite.AE_LOGS=<install_dir>/logs
    
    ## ID of the default home page that users see in the designer environment if
    ## they do not have a custom home page
    #conf.suite.DEFAULT_HOME_PAGE_ID=0
    
    ## Copyright statements can be overridden using the following properties.  The
    ## copyright property allows overriding the entire statement or supports string
    ## formatting using a param substitution syntax: %2$s, %3$s
    ## The copyright statement appears as the footer of the designer and legacy
    ## portal interfaces
    ## Note that \u00A9 is the copyright symbol.
    #resources.appian.ap.application.appian.ap.copyright=\u00A9%2$s %3$s
    ## The 2 substitution parameters can be individually overridden with the
    ## the properties as follows:
    ## %2$s - the copyright year
    #resources.appian.ap.application.appian.ap.copyrightYear=2003-<defaults to current year>
    ## %3$s - the company name
    #resources.appian.ap.application.appian.ap.appianName=Appian Corporation
    
    ###############
    #### Email ####
    ###############
    
    ## Sending Email
    ## The address that will appear as the sender (the "From" address) of
    ## notification and password reset emails from the system.
    ## Defaults to appian-alerts@<serverdomain>
    #conf.mailhandler.ntf_sndr_addr=
    ## The domain (portion after the "@") for the "from" email address for
    ## addresses created via expressions functions; also applies to the domain
    ## for alert emails when conf.mailhandler.ntf_sndr_addr is not set. Defaults to
    ## the domain of the server.
    #conf.mailhandler.email.domain=
    ## The host is the FQDN, hostname, or IP address of the SMTP server for sending
    ## email from the system. Muliple SMTP servers can be specified using a comma-
    ## separated list.  They will be tried in the order specified.  If a port
    ## other than 25 is required, append it to the hostname (e.g., mailhost3:9025)
    ## IMPORTANT: If this is not set, no email will be sent from the system.
    #conf.mailhandler.mail.smtp.host=<PROVIDE A VALUE>
    ## The username used to connect to the SMTP server above.  Set
    ## conf.mailhandler.mail.smtp.auth=true if user/password are used.  Leave the
    ## default (false) to indicate that the SMTP server does not require
    ## authentication. If multiple SMTP servers are defined above, the same auth
    ## settings will apply to all servers
    #conf.mailhandler.mail.smtp.auth=false
    #conf.mailhandler.mail.user=
    ## The protocol should be set to either smtp or smtps. The default value is smtp.
    #conf.mailhandler.mail.transport.protocol=smtp
    ## You can enable or require starttls with the "smtp" protocol.  Setting
    ## starttls.enable=true will cause outgoing mail to use STARTTLS if supported by
    ## the remote server but will fall back to plain smtp otherwise.  Also setting
    ## starttls.required=true will cause mail to fail if the remote server does not
    ## support STARTTLS.
    #conf.mailhandler.mail.smtp.starttls.enable=false
    #conf.mailhandler.mail.smtp.starttls.required=false
    
    ## Receiving Email - see documentation for configuration of ejb-jar.xml
    ## Aliases can be used to route email sent to a particular email address to a
    ## specified process model, process, or event.  They are of the form
    ## conf.mailhandler.alias.<recipientName>=<routing> where <recipientName> is an
    ## email account and <routing> is processmodeluuid, processmodelid, process,
    ## or event followed by the corresponding id
    #conf.mailhandler.alias.HelpDeskRequest=processmodeluuid0004cedf-a045-8000-234b-c0a8031014c0
    
    ##########################
    #### Anonymous Access ####
    ##########################
    
    ## DEPRECATED: Set ANONYMOUS_ACCESS=true to receive email messages in process
    ## start nodes. It also enables the use of the ANONYMOUS user.
    ## Setting this property to true does NOT allow users to access the portal
    ## anonymously. The property remains deprecated because it will be renamed in a
    ## future release.
    #conf.suite.ANONYMOUS_ACCESS=false
    
    ########################
    #### Single Sign-On ####
    ########################
    
    ## Refer to the documentation on configuring single sign-on through the Spring
    ## Security framework.
    
    ######################
    #### Data Capping ####
    ######################
    
    ## Data Output Truncation Constants define data truncation limits in
    ## places where data output is capped (like in report cells).
    #conf.suite.DATA_TRUNC_SENTENCES=200
    
    ## Notification data caps
    #conf.suite.ALERT_SUBJECT_LIMIT=150
    #conf.suite.ALERT_MESSAGE_LIMIT=1000
    
    ###########################
    #### Process Execution ####
    ###########################
    
    ## The limit to the number of rows returned in the Database Access node
    #resources.appian.process.application.arv.limit=10
    
    ## Whether or not automatic archiving of completed and canceled processes is
    ## enabled.  1=enabled; 0=disabled
    #server.conf.exec.AUTOARCHIVE=1
    
    ##################
    #### Analytics ###
    ##################
    
    ## Analytics Report Rows Cap
    ## This number specifies the maximum number of items that can be loaded into
    ## app server memory when processing a report.
    ## It determines the last page that can be retrieved for a report:
    ## last page = floor(maxreportrows/(number of analytics engines * number of rows per page))
    ## In addition, this also determines the maximum number of rows that will be
    ## included when a report is exported or printed.
    #resources.appian.analytics.application.maxreportrows=30000
    
    ## Analytics Engine Timeout
    ## How much time each analytics engine is allowed to take to process a request in
    ## milliseconds. The report will time out if the request takes longer to process.
    #server.conf.processcommon.MAXIMUM_REPORT_MS=2000
    
    ## Process Search: report used to display results of process searches
    ## the value must be an alias defined in analytics-config(-*).xml
    #resources.appian.process.application.appian.process.process_search_report=all_processes
    
    ######################
    #### Data Sources ####
    ######################
    
    ## Appian must have a dedicated data source. Set the value to the JNDI name of
    ## the data source that will be used as the Appian data source.
    ## Note: This data source must point to a separate tablespace than any listed
    ## in the conf.data.datasources configuration.
    #conf.data.APPIAN_DATA_SOURCE=jdbc/appianschema
    conf.data.APPIAN_DATA_SOURCE=jdbc/AppianDS
    ## Comma-separated list of JNDI names of data sources on the application server
    ## that will be used to store business data.  This list is used by the Query
    ## Database smart service and Data Stores.
    #conf.data.datasources=
    
    ###################		
    #### Documents ####
    ###################
    
    ## The minimum allowed size for a document or a folder.
    #resources.appian.ac.collaboration.MINIMUM_DOCUMENT_NAME_LENGTH=4
    ## The maximum allowed size in bytes for a document
    #resources.appian.ac.collaboration.MAX_UPLOAD_FILE_SIZE=1024000000
    ## The group id of Collaboration Administrators
    #resources.appian.ac.collaboration.COLLABORATION_ADMINISTRATION_GROUP_ID=0
    ## The number of Documents, Knowledge Center, or Folders that can be moved
    ## simultaneously
    #resources.appian.ac.collaboration.MAX_NUMBER_MOVEABLE_OBJECTS=4
    ## The number of megabytes to allocate to new users' quota for documents
    ## uploaded to folders in Personal and Teams knowledge centers.  Changing the
    ## value does not affect existing users.
    #server.conf.collaboration.DEFAULTSPACE=250
    ## Whether documents can be downloaded with the Content-Disposition header set
    ## to "inline" by using inline=true as a request parameter. This property must
    ## be set to true in order to use PDF forms as task forms or to display the
    ## contents of a file stored in Documents inline on a page in the web page
    ## channel.
    #conf.content.download.inline=false
    
    #####################
    #### Query Rules ####
    #####################
    
    ## The amount of memory in bytes that will be consumed in the application server
    ## for a single query before the query is halted. Default is 1 MB.
    #conf.data.query.memory.limit=1048576
    ## The amount of time in seconds that a query will wait for a response from the
    ## database before timing out.
    #conf.data.query.timeout=10
    
    #############
    #### JMS ####
    #############
    
    ## A list of client ids to use when connecting to the JMS provider, either
    ## clientIds needs to be defined as a comma-separated list or both
    ## clientIdPrefix and maxConnections must be defined
    #conf.jms.clientIds=
    #conf.jms.clientIdPrefix=CLIENT_
    #conf.jms.maxConnections=20
    ## The name of the JMS topic or queue that contains messages destined for
    ## process
    #conf.jms.processTopic=Process
    ## Some JMS providers have a prefix before the topic of queue name, if needed
    ## define that prefix here
    #conf.jms.topicPrefix=
    #conf.jms.queuePrefix=
    ## If the JMS provider requires a username and password for connection, define
    ## the username here and the password in passwords.properties
    
    ##########################################################
    #### Web Services: Exposing Processes as Web Services ####
    ##########################################################
    ## See uddi-config.xml.example for how to configure UDDI registries
    ## By default process models exposed as a web service can be found at
    ## SCHEME://SERVER_AND_PORT/APPLICATION_CONTEXT/webservice/processmodel/*?WSDL
    ## If you want a different base URL (part before /webservice..) define that here
    ## An application server or web server connected to the system must be listening
    #resources.appian.webservices.application.webservice.baseurl=
    
    ###########################
    #### Web Services Node ####
    ###########################
    
    ## The following are properties that control the behavior of HTTP connections
    ## made by the Call Web Service Node during service invocation.
    ## Number of seconds to wait to establish a connection with a web service host
    #conf.node.webservice.connection.timeout=60
    ## Once a connection is established, the number of seconds to wait for a
    ## response to a request
    #conf.node.webservice.socket.timeout=60
    ## Number of redirect responses (HTTP 304) the web service node will accept
    #conf.node.webservice.max.redirects=4
    
    ##################
    #### Plug-ins ####
    ##################
    
    ## The plug-in loading poll interval is the maximum number of seconds that will
    ## pass before loading a new plug-in after it is placed in the plugins
    ## directory.  Setting the interval to 0 will cause hot deployment to be
    ## disabled and deploying a new plug-in will require an app server restart.
    #conf.plugins.poll-interval=60

  • 0
    Certified Lead Developer
    in reply to Jonga

    Hi Jonga,

    It looks like Your DB Connection is successful. But  during execution one of the migration scripts is not successful:

    18:47:41,405 INFO  [stdout] (ServerService Thread Pool -- 121)      Reason: liquibase.exception.DatabaseException: Error executing SQL UPDATE `DATABASECHANGELOG` SET `TAG` = '6.6.1.0' WHERE DATEEXECUTED = (SELECT MAX(DATEEXECUTED) FROM (SELECT DATEEXECUTED FROM `DATABASECHANGELOG`) AS X): You can't specify target table 'DATABASECHANGELOG' for update in FROM clause:
    
    18:47:41,408 INFO  [stdout] (ServerService Thread Pool -- 121)           Caused By: Error executing SQL UPDATE `DATABASECHANGELOG` SET `TAG` = '6.6.1.0' WHERE DATEEXECUTED = (SELECT MAX(DATEEXECUTED) FROM (SELECT DATEEXECUTED FROM `DATABASECHANGELOG`) AS X): You can't specify target table 'DATABASECHANGELOG' for update in FROM clause:

     

    Please refer to the below links:

    https://community.appian.com/support/w/kb/293/kb-1068-error-executing-sql-update-java-sql-sqlexception-you-can-t-specify-target-table-x-for-update-in-from-clause-error-thrown-during-application-server-startup

    https://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target-table-for-update-in-from-clause

     

    Also, after making the necessary changes make sure below is correct before starting the jboss as suggested by Benhail

    Verify that the following file exists and does not have the extensions .undeployed, .isdeploying or .failed:
    <APPIAN_HOME>\_admin\_scripts\configure\templates\ear\suite.ear.dodeploy

    Delete the following file if it has the extensions .undeployed, .isdeploying or .failed:
    <JBOSS_HOME>\standalone\deployments\appian-mysql-ds.xml.deployed

  • in the server log tells me something about the library log4j?? does anybody know about this?? this refer to catalina???

    17:01:07,520 ERROR [stderr] (MSC service thread 1-6) log4j:WARN Please initialize the log4j system properly.

    17:01:07,520 ERROR [stderr] (MSC service thread 1-6) log4j:WARN See logging.apache.org/.../faq.html for more info.
  • 0
    Certified Lead Developer
    in reply to Jonga
    Hi Jonga,
    This will not have a negative impact and prevent JBOSS from starting. Please find the below KB
    community.appian.com/.../kb-1533-log4j-warnings-logged-as-errors-on-application-server-startup
  • hi thank for the support.

    I check the firts link and says: Alternatively, Appian 16.2 and later supports MySQL 5.7.x. Upgrade to Appian 16.2 or later if downgrading your database is not feasible.
    But i have appian 18.1 with mysql 5.7.

    And in the second link:
    i really i dont undestand how to fix the issue if you can help me more with this I would be grateful.
  • 0
    Certified Lead Developer
    in reply to Jonga
    Can you please try out the below given in the second link?

    However, beware that from MySQL 5.7.6 and onward, the optimiser may optimise out the subquery, and still give you the error. Luckily, the optimizer_switch variable can be used to switch off this behaviour; although I couldn't recommend doing this as anything more than a short term fix, or for small one-off tasks.

    SET optimizer_switch = 'derived_merge=off';