<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>MSO API Handler Infra</display-name> <listener> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> </listener> <context-param> <param-name>resteasy.jndi.resources</param-name> <param-value>java:module/MsoPropertiesFactory</param-value> </context-param> <!-- enable the Asynchronous Job Service --> <context-param> <param-name>resteasy.async.job.service.enabled</param-name> <param-value>true</param-value> </context-param> <!-- The next context parameters are all optional. Their default values are shown as example param-values --> <!-- How many jobs results can be held in memory at once? --> <context-param> <param-name>resteasy.async.job.service.max.job.results</param-name> <param-value>100</param-value> </context-param> <!-- Maximum wait time on a job when a client is querying for it --> <context-param> <param-name>resteasy.async.job.service.max.wait</param-name> <param-value>300000</param-value> </context-param> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <!-- Thread pool size of background threads that run the job --> <context-param> <param-name>resteasy.async.job.service.thread.pool.size</param-name> <param-value>100</param-value> </context-param> <!-- Set the base path for the Job uris --> <context-param> <param-name>resteasy.async.job.service.base.path</param-name> <param-value>/asynch/jobs</param-value> </context-param> <context-param> <param-name>log.configuration</param-name> <param-value>logback.apihandler-infra.xml</param-value> </context-param> <context-param> <param-name>mso.configuration</param-name> <param-value>MSO_PROP_APIHANDLER_INFRA=mso.apihandler-infra.properties,MSO_PROP_TOPOLOGY=topology.properties</param-value> </context-param> <context-param> <param-name>resteasy.resources</param-name> <param-value>org.openecomp.mso.logger.MsoLoggingServlet</param-value> </context-param> <servlet> <servlet-name>resteasy-servlet</servlet-name> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> </servlet> <servlet-mapping> <servlet-name>resteasy-servlet</servlet-name> <url-pattern>/serviceInstances/*</url-pattern> <url-pattern>/orchestrationRequests/*</url-pattern> <url-pattern>/nodehealthcheck</url-pattern> <url-pattern>/v1/*</url-pattern> <url-pattern>/v2/*</url-pattern> <url-pattern>/v3/*</url-pattern> <url-pattern>/logging/*</url-pattern> <url-pattern>/globalhealthcheck/*</url-pattern> <url-pattern>/healthcheck/*</url-pattern> <url-pattern>/setStatus/*</url-pattern> <url-pattern>/properties/*</url-pattern> <url-pattern>/api-docs/*</url-pattern> <url-pattern>/tasks/*</url-pattern> <url-pattern>/e2eServiceInstances/*</url-pattern> <url-pattern>/cloudResources/*</url-pattern> <url-pattern>/cloudResourcesRequests/*</url-pattern> </servlet-mapping> <!-- To be replaced by AAF in the future, when Camunda scripts replacing the BPEL scripts completely --> <security-constraint> <web-resource-collection> <web-resource-name>HealthcheckNoAuth</web-resource-name> <description>No Authentication for Healthcheck</description> <url-pattern>/healthcheck</url-pattern> <url-pattern>/globalhealthcheck</url-pattern> <url-pattern>/nodehealthcheck</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>SiteStatus</web-resource-name> <description>SiteStatus APIs</description> <url-pattern>/setStatus/*</url-pattern> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>SiteControl-Client</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>MSO internal Requests</web-resource-name> <description>Internal Requests</description> <url-pattern>/logging/*</url-pattern> <url-pattern>/properties/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> </web-resource-collection> <auth-constraint> <role-name>MSO-Client</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>HTTPBasicAuth</web-resource-name> <description>Authentication for Infra Portal</description> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> </web-resource-collection> <auth-constraint> <role-name>InfraPortal-Client</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>ApplicationRealm</realm-name> </login-config> <security-role> <role-name>InfraPortal-Client</role-name> </security-role> <security-role> <role-name>SiteControl-Client</role-name> </security-role> <security-role> <role-name>MSO-Client</role-name> </security-role> <filter> <filter-name>LogFilter</filter-name> <filter-class>org.openecomp.mso.logger.LogFilter</filter-class> </filter> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>