Bugs item #547128, was opened at 2002-04-22 15:33 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=547128&group_id=22866
Category: CatalinaBundle Group: v2.4 (stable) Status: Closed Resolution: Fixed Priority: 5 Submitted By: Erik Konijnenburg (konijnenburg) Assigned to: Scott M Stark (starksm) Summary: sessioncontext not set when calling Initial Comment: I have written a simple session bean which echos a string. I access this bean via the web. I can secure this bean using when i access it from a servlet. When I access it from a JSP the session context is not set. I tried this with the JBOSS catalina bundle: JBoss-2.4.4_Tomcat-4.0.1 JSP file -------- <html> <head> <title> echo </title> </head> <jsp:useBean id="bean1" scope="session" class="echo.EchoBean" /> <jsp:setProperty name="bean1" property="echo" value = "Hello Erik" /> <body> <h1> JBuilder Generated JSP </h1> </body> <%= bean1.getEcho() %> </html> Bean ---- package echo; import java.rmi.*; import javax.ejb.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */ public class EchoBean implements SessionBean { private SessionContext sessionContext; String echo; public void ejbCreate() { } public void ejbRemove() { } public void ejbActivate() { } public void ejbPassivate() { } public void setSessionContext(SessionContext sessionContext) { System.out.println("Setting Session context"); this.sessionContext = sessionContext; } public void setEcho(String echo) { this.echo = echo; System.out.println("setEcho(String echo);"); } public String getEcho() { System.out.println("getEcho();"); return echo + " " + sessionContext.getCallerPrincipal().getName(); } } web.xml ------- <?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> <servlet> <servlet-name>echoit</servlet-name> <jsp-file>/echo.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>echoit</servlet-name> <url-pattern>/restricted/echoit</url-pattern> </servlet-mapping> <security-constraint> <display-name>Customer</display-name> <web-resource-collection> <web-resource-name>Collection1</web-resource- name> <url-pattern>/restricted/*</url-pattern> <url-pattern>/echo.jsp</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>Customer</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>/logon.jsp</form-login-page> <form-error-page>/logon_failed.jsp</form-error- page> </form-login-config> </login-config> <security-role> <role-name>Customer</role-name> </security-role> <ejb-ref> <ejb-ref-name>EJB/Echo</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>echo.EchoHome</home> <remote>echo.Echo</remote> </ejb-ref> </web-app> ejb-jar.xml ----------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb- jar_1_1.dtd"> <ejb-jar> <enterprise-beans> <session> <ejb-name>Echo</ejb-name> <home>echo.EchoHome</home> <remote>echo.Echo</remote> <ejb-class>echo.EchoBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Container</transaction- type> </session> </enterprise-beans> <assembly-descriptor> <security-role> <role-name>Customer</role-name> </security-role> <method-permission> <role-name>Customer</role-name> <method> <description /> <ejb-name>Echo</ejb-name> <method-name>*</method-name> </method> </method-permission> </assembly-descriptor> </ejb-jar> jboss.xml --------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jboss PUBLIC '-//JBoss//DTD JBOSS 2.4//EN' 'http://www.jboss.org/j2ee/dtd/jboss_2_4.dtd'> <jboss> <security-domain>java:/jaas/default</security- domain> <enterprise-beans> <session> <ejb-name>Echo</ejb-name> <jndi-name>Echo</jndi-name> </session> </enterprise-beans> </jboss> jboss-web.xml ------------- <?xml version="1.0" encoding="UTF-8"?> <jboss-web> <security-domain>java:/jaas/default</security- domain> <ejb-ref> <ejb-ref-name>EJB/Echo</ejb-ref-name> <jndi-name>Echo</jndi-name> </ejb-ref> </jboss-web> ---------------------------------------------------------------------- >Comment By: Erik Konijnenburg (konijnenburg) Date: 2002-04-28 11:37 Message: Logged In: YES user_id=522939 I added the following to web.xml: <context-param> <param-name>cookies</param-name> <param-value>true</param-value> </context-param> Still the sessioncontext of the EJB is null when called from the JSP. When calling from a Servlet it works. I get the following exception java.lang.NullPointerException at echo.EchoBean.getEcho(EchoBean.java:30) at org.apache.jsp.echo$jsp._jspService (echo$jsp.java:87) at org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.servi ce(JspServlet.java:202) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service (JspServlet.java:474) at javax.servlet.http.HttpServlet.service (HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:518) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:163) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1011) at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1106) at java.lang.Thread.run(Unknown Source) ---------------------------------------------------------------------- Comment By: Scott M Stark (starksm) Date: 2002-04-27 22:09 Message: Logged In: YES user_id=175228 Set the DefaultContext cookies attribute to true to enable sessions based on cookies. This is now the default. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=547128&group_id=22866 _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development