Hi Caroline, Check out the DTD - <!ELEMENT security-role (description?, role-name)> .
Try having one role-name per security-role. Also, ensure that your security role is positioned in the right place in your web.xml (again, look at the DTD). Nick Faiz. -----Original Message----- From: Caroline Jen [mailto:[EMAIL PROTECTED] Sent: Thursday, 9 October 2003 1:53 PM To: [EMAIL PROTECTED] Subject: What Is Wrong With My web.xml File (Struts) My Struts application worked well until I added security in the web.xml file. I got the error message shown below and I cannot spot any mistake with my eyes: [QUOTE] 2003-10-08 23:33:25 Exception initializing TldLocationsCache: XML parsing error on file /WEB-INF/web.xml: (line 137, col 19): The content of element type "security-role" must match "(description?,role-name)". [/QUOTE] and my web.xml file is: [CODE] <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <!-- Configuring Artimus --> <servlet> <servlet-name>artimus</servlet-name> <servlet-class>org.apache.artimus.http.ArtimusServlet</servlet-class> <!-- Our application properties --> <init-param> <param-name>default</param-name> <param-value>resources/artimus.properties</param-value> </init-param> <!-- Our connection adaptor --> <init-param> <param-name>adaptor</param-name> <param-value>org.apache.commons.scaffold.sql.PoolmanAdaptor</param-value> </init-param> <init-param> <param-name>adaptor.key</param-name> <param-value>jdbc-artimus</param-value> </init-param> <!-- Alternate adaptors <init-param> <param-name>adaptor</param-name> <param-value>org.apache.commons.scaffold.sql.ServletAdaptor</param-value> </init-param> <init-param> <param-name>adaptor.key</param-name> <param-value>org.apache.struts.action.DATA_SOURCE</param-value> </init-param> <init-param> <param-name>adaptor</param-name> <param-value>org.apache.commons.scaffold.sql.ConnectionAdaptor</param-value> </init-param> <init-param> <param-name>adaptor.key</param-name> <param-value>jdbc/artimus</param-value> </init-param> --> <!-- Our startup priority --> <load-on-startup>1</load-on-startup> </servlet> <!-- Standard Struts configuration --> <servlet> <servlet-name>action</servlet-name> <!-- org.apache.struts.tiles.ActionComponentServlet --> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>null</param-name> <param-value>false</param-value> </init-param> <!-- Startup priority --> <load-on-startup>2</load-on-startup> </servlet> <!-- servlet-mappings, welcome-file-list --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>/do/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- taglibs --> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/lib/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/lib/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/tiles</taglib-uri> <taglib-location>/WEB-INF/lib/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/request</taglib-uri> <taglib-location>/WEB-INF/lib/request.tld</taglib-location> </taglib> <!-- Our secuity settings --> <security-constraint> <web-resource-collection> <web-resource-name>Administrative</web-resource-name> <!-- The URLs to protect --> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <!-- The authorized users --> <role-name>administrator</role-name> <role-name>advisor</role-name> <role-name>editor</role-name> <role-name>contributor</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/signin/logon.jsp</form-login-page> <form-error-page>/signin/logon.jsp?error=true</form-error-page> </form-login-config> </login-config> <!-- Our authentification strategy --> <security-role> <description>Registered Members</description> <role-name>administrator</role-name> <role-name>advisor</role-name> <role-name>editor</role-name> <role-name>contributor</role-name> </security-role> // line 137 is here </web-app> [/CODE] __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]