Положение фильтра JBoss 6.1.0 AS в web.xml - PullRequest
0 голосов
/ 02 июля 2019

Следующая ошибка отображается при попытке развернуть WAR в JBoss 6.1.0

DEPLOYMENTS IN ERROR:
  Deployment
"vfs:///D:/workspace/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_AS_6.x1555321418499/deploy/MyProject.war" is in error due to the following reason(s): 

 org.jboss.xb.binding.JBossXBRuntimeException: filter cannot appear in this position. Expected content of web-app is unordered_sequence: error-page* welcome-file-list? servlet-mapping* login-config? mime-mapping* distributable? session-config? security-role* taglib* security-constraint* context-param* servlet* {all descriptionGroup}? {unordered_sequence jndiEnvironmentRefsGroup}?

Ниже приведен файл web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>false</param-value>
  </context-param>

 <filter>
    <filter-name>AuthenticationFilter</filter-name>
    <filter-class>mypackage.restauthentication.RestAuthenticationFilter</filter-class>
 </filter>
 <filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>
    <url-pattern>/services/*</url-pattern>
 </filter-mapping>

 <servlet>
    <servlet-name>REST Service</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

     <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>mypackage.restauthentication</param-value>
     </init-param>

   <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
   <servlet-name>REST Service</servlet-name>
   <url-pattern>/service/*</url-pattern>
 </servlet-mapping>
</web-app>

Согласно сообщению об ошибке,<filter> неправильно указан в web.xml.Ожидаемое содержимое веб-приложения: unordered_sequence: error-page * welcome-file-list?сервлет-отображение * login-config?mime-mapping * распространяемый?сеанс конфигурация?роль безопасности * taglib * ограничение безопасности * контекстный параметр * сервлет * {все descriptionGroup}?{unordered_sequence jndiEnvironmentRefsGroup}?

Каков правильный порядок размещения того же самого?Это веб-архив, который развертывает веб-службы Jersey REST с базовой аутентификацией.

1 Ответ

1 голос
/ 02 июля 2019

Попробуйте это ..

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>false</param-value>
  </context-param>
  <servlet>
    <servlet-name>REST Service</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
     <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>mypackage.restauthentication</param-value>
     </init-param>
   <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
   <servlet-name>REST Service</servlet-name>
   <url-pattern>/service/*</url-pattern>
 </servlet-mapping>
 <filter>
    <filter-name>AuthenticationFilter</filter-name>
    <filter-class>mypackage.restauthentication.RestAuthenticationFilter</filter-class>
 </filter>
 <filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>
    <url-pattern>/services/*</url-pattern>
 </filter-mapping>
</web-app>
...