[jboss-jira] [JBoss JIRA] Commented: (JBAS-6268) Null pointer exception for misconfigured web.xml

Francisco Jose Diaz Navarro (JIRA) jira-events at lists.jboss.org
Thu Jan 8 02:29:19 EST 2009


    [ https://jira.jboss.org/jira/browse/JBAS-6268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12445645#action_12445645 ] 

Francisco Jose Diaz Navarro commented on JBAS-6268:
---------------------------------------------------

Hello. I get the same error when submitting a login form. However my web.xml seems to be well configured. Hope this would help.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app >
<context-param>
	<param-name>steria.acceso.Aplicacion</param-name>
	<param-value>INT</param-value>
</context-param>

<context-param>
	<param-name>steria.acceso.Aplicacion.nombre</param-name>
	<param-value>Portal Intranet SMS</param-value>
</context-param>

<context-param>
	<param-name>steria.acceso.ControlAcceso</param-name>
	<param-value>steria.acceso.ControlAccesoNulo</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.plantillaDefecto</param-name>
	<param-value>index</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.publicador</param-name>
	<param-value>true</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.consumidor.infoEntrada</param-name>
	<param-value>
		<![CDATA[
			<br><br>
			<img class="IconoImagen" src="/icons/house_link.gif" alt=""/>
			<a href="${link}" target="_blank">Contenido original</a> en
			<a href="${feedLink}" target="_blank">${feedTitle}</a>.<br><br>
		]]>
	</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.beans.AccesoMensajero</param-name>
	<param-value>sms.portal.beans.AccesoMensajeroImpl</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.ac</param-name>
	<param-value>configurarAplicaciones</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.ap</param-name>
	<param-value>accionPendiente</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.pp</param-name>
	<param-value>pasosAccionPendiente</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.bu</param-name>
	<param-value>listadoBuscador</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.ca</param-name>
	<param-value>contenidos</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.ed</param-name>
	<param-value>contenidos</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.cn</param-name>
	<param-value>vistaContenido</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.ev</param-name>
	<param-value>listadoEventos</param-value>
</context-param>

<context-param>
	<param-name>sms.portal.portlets.cuerpo.se</param-name>
	<param-value>seccion</param-value>
</context-param>

  <filter>
	<filter-name>sesionesFilter</filter-name>
	<filter-class>sms.portal.util.hibernate.SesionesFilter</filter-class>
</filter>

<filter>
	<filter-name>informacionClienteFilter</filter-name>
	<filter-class>sms.portal.filters.InformacionClienteFilter</filter-class>
</filter>

<filter>
	<filter-name>controlAccesoFilter</filter-name>
	<filter-class>sms.portal.acceso.ControlAccesoFilter</filter-class>
</filter>

   <filter>
      <filter-name></filter-name>
      <filter-class>sms.portal.acceso.ControlAccesoFilter</filter-class>
   </filter>
   <filter>
      <filter-name></filter-name>
      <filter-class>sms.portal.filters.InformacionClienteFilter</filter-class>
   </filter>

  <filter-mapping>
	<filter-name>sesionesFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
	<filter-name>informacionClienteFilter</filter-name>
	<url-pattern>/portal/solicitarPassword.pl/*</url-pattern>
</filter-mapping>

<filter-mapping>
	<filter-name>controlAccesoFilter</filter-name>
	<url-pattern>/portal/solicitarPassword.pl/*</url-pattern>
</filter-mapping>

<listener>
	<listener-class>sms.portal.server.PortalContextBootstrap</listener-class>
</listener>

<!-- ActionServlet de Struts 1.1 -->
<servlet>
	<servlet-name>action</servlet-name>
	<servlet-class>sms.portal.bridge.internal.PortalActionServlet</servlet-class>
	<init-param>
		<param-name>config</param-name>
		<param-value>/WEB-INF/struts-config.xml</param-value>
	</init-param>
	<init-param>
		<param-name>validating</param-name>
		<param-value>true</param-value>
	</init-param>
	<init-param>
		<param-name>convertNull</param-name>
		<param-value>true</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
	<servlet-name>portletInvokerServlet</servlet-name>
	<servlet-class>sms.portal.server.spi.core.PortletInvokerServlet</servlet-class>
	<load-on-startup>2</load-on-startup>
</servlet>

<servlet>
	<servlet-name>portalDriverServlet</servlet-name>
	<servlet-class>sms.portal.server.PortalDriverServlet</servlet-class>
	<load-on-startup>3</load-on-startup>
</servlet>

<servlet>
	<servlet-name>loginServlet</servlet-name>
	<servlet-class>sms.portal.server.LoginServlet</servlet-class>
	<load-on-startup>3</load-on-startup>
</servlet>

<servlet>
	<servlet-name>recursoServlet</servlet-name>
	<servlet-class>sms.portal.server.RecursoServlet</servlet-class>
	<load-on-startup>3</load-on-startup>
</servlet>

<servlet>
	<servlet-name>generarFeedServlet</servlet-name>
	<servlet-class>sms.portal.server.GenerarFeedServlet</servlet-class>
	<load-on-startup>3</load-on-startup>
</servlet>

<servlet>
	<servlet-name>dwr-invoker</servlet-name>
	<display-name>DWR Servlet</display-name>
	<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
	<init-param>
		<param-name>debug</param-name>
		<param-value>false</param-value>
	</init-param>
</servlet>

<!-- ActionServlet mapping para el servlet de Struts 1.1 -->
<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>portletInvokerServlet</servlet-name>
	<url-pattern>/PlutoInvoker/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>portalDriverServlet</servlet-name>
	<url-pattern>/portal/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>loginServlet</servlet-name>
	<url-pattern>/login/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>recursoServlet</servlet-name>
	<url-pattern>/res/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>generarFeedServlet</servlet-name>
	<url-pattern>/rss/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>dwr-invoker</servlet-name>
	<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

<!-- The Welcome File List -->
<welcome-file-list>
	<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

  <!-- Manejadores de excepciones de la aplicación -->

  <!-- Descriptores de tags para Struts 1.1 -->
<taglib>
	<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
	<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
	<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
	<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
	<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
	<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>http://jakarta.apache.org/taglibs/string-1.1</taglib-uri>
	<taglib-location>/WEB-INF/taglibs-string.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>http://java.sun.com/portlet</taglib-uri>
	<taglib-location>/WEB-INF/portlet.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>http://portals.apache.org/pluto/portlet-el</taglib-uri>
	<taglib-location>/WEB-INF/portlet-el.tld</taglib-location>
</taglib>

<taglib>
	<taglib-uri>http://portals.apache.org/pluto</taglib-uri>
	<taglib-location>/WEB-INF/pluto.tld</taglib-location>
</taglib>

<!-- Referencia al DataSource de la aplicación -->
<resource-ref>
	<res-ref-name>jdbc/intranet</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
	<res-ref-name>jdbc/acceso</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
	<res-ref-name>jcr/intranet</res-ref-name>
	<res-type>javax.jcr.Repository</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

<!-- Proveedor SMTP de la aplicación -->
<resource-ref>
	<res-ref-name>mail/carm</res-ref-name>
	<res-type>javax.mail.Session</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

  <security-constraint>
	<web-resource-collection>
		<web-resource-name>INT</web-resource-name>
		<url-pattern>/login</url-pattern>
		<http-method>GET</http-method>
		<http-method>POST</http-method>
	</web-resource-collection>
	<auth-constraint>
		<role-name>INT</role-name>
	</auth-constraint>
</security-constraint>
<login-config>
	<auth-method>FORM</auth-method>
	<realm-name>SMS</realm-name>
	<form-login-config>
		<form-login-page>/login/do</form-login-page>
		<form-error-page>/login</form-error-page>
	</form-login-config>
</login-config>

 <security-role>
	<role-name>INT</role-name>
</security-role>

</web-app>


> Null pointer exception for misconfigured web.xml
> ------------------------------------------------
>
>                 Key: JBAS-6268
>                 URL: https://jira.jboss.org/jira/browse/JBAS-6268
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: JBossAS-5.0.0.CR2
>         Environment: Linux
>            Reporter: Daniel Taylor
>            Assignee: Anil Saldhana
>            Priority: Minor
>             Fix For: JBossAS-5.0.1.CR1
>
>
> A misconfigured web.xml throws a null pointer exception:
> 	<welcome-file-list>
> 		<welcome-file>secure/main.html</welcome-file>        <!--  missing a slash before 'secure', ie: /secure/main.html -->
> 	</welcome-file-list>
> throws exception:
> 10:20:00,977 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing
> java.lang.NullPointerException
> 	at org.jboss.security.plugins.javaee.WebAuthorizationHelper.hasUserDataPermission(WebAuthorizationHelper.java:175)
> 	at org.jboss.web.tomcat.security.JBossWebRealm.hasUserDataPermission(JBossWebRealm.java:636)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:461)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:91)
> 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:92)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:325)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Thread.java:619)
> while not crucial to the development of jboss, I speak from experience when I say that it can take a long time to find the configuration error based upon the exception thrown...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       




More information about the jboss-jira mailing list