Upgradation from 7.11 to 17.2

Hi,

 

We are upgrading our system from 7.11(Portal) to 17.2(Portal) in linux machine.

We installed appian 17.2 and all the appian engines are running properly with OK status.

We also started search server.

While trying to start Jboss we are getting below error:

ERROR [stderr] (MSC service thread 1-1) log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.PropertiesConfiguration).

10:55:40,854 ERROR [stderr] (MSC service thread 1-1) log4j:WARN Please initialize the log4j system properly.

10:55:40,855 ERROR [stderr] (MSC service thread 1-1) log4j:WARN See

Please find the attched sever log and web.xml.

Please help us to resolve the issue.

Thanks In advance

 

<?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/**,/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>listingsFilter</filter-name>
  <filter-class>com.appiancorp.ap2.ListingsServletFilter</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-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>
 </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>
 <!-- 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>/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>listingsFilter</filter-name>
  <url-pattern>/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.BootstrapSpringContextLoaderListener</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>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>plugin-servlet</servlet-name>
  <servlet-class>com.atlassian.plugin.servlet.ServletModuleContainerServlet</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>action</servlet-name>
  <servlet-class>com.appiancorp.common.struts.AppianActionServlet</servlet-class>
  <init-param>
   <param-name>debug</param-name>
   <param-value>2</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>
  <init-param>
   <param-name>application</param-name>
   <param-value>resources.application</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>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>/folder/*</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>intuitiveurl</servlet-name>
  <url-pattern>/kc/*</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>intuitiveurl</servlet-name>
  <url-pattern>/community/*</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>action</servlet-name>
  <url-pattern>*.bg</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/perflogs/</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>listings</servlet-name>
  <url-pattern>/logs/data-metrics/</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>listings</servlet-name>
  <url-pattern>/logs/audit/</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>listings</servlet-name>
  <url-pattern>/logs/search-server/</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>
4237.server.log

 

 

 

  Discussion posts and replies are publicly visible