Oleg Nitz writes:
 > Hi jBoss,
 > 
 > Keith L. Musser wrote:
 > KLM> For my application, my beans need to know who the end-user is.  When I
 > KLM> call the "getCallerPrincipal()" method in the SessionContext or
 > KLM> EntityContext, I receive "null".
 > 
 > KLM> Does jBoss propagate the caller principal per the EJB spec?
 > Yes.
 > 
 > KLM> If so, how can my client set it initially?
 > The simplest way: call
 > org.jboss.system.SecurityAssociation.setPrincipal()
 > on client.

When I do this and then call ctx.getCallerPrincipal() in my stateful
session bean, I get the null pointer exception below.  The line in
EnterpriseContext.java is:

      public Principal getCallerPrincipal() 
       { 
         if ( principal != null && beanPrincipal == null ) {
>             beanPrincipal = con.getRealmMapping().getPrincipal( principal );
         }
         return beanPrincipal;
       }

I guess this means either the Container for this bean is null
(unlikely?) or the real mapping reported by the container is null.
How do I go about rectifying this?

Tom

[statefulWebfoot] java.lang.NullPointerException
[statefulWebfoot]       at 
org.jboss.ejb.EnterpriseContext$EJBContextImpl.getCallerPrincipal(EnterpriseContext.java:178)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.ejb.webfoot.WebFootBean.ejbCreate(WebFootBean.java:254)
[statefulWebfoot]       at java.lang.reflect.Method.invoke(Native Method)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager.createSession(StatefulSessionFilePersistenceManager.java:166)
[statefulWebfoot]       at 
org.jboss.ejb.StatefulSessionContainer.createHome(StatefulSessionContainer.java:375)
[statefulWebfoot]       at java.lang.reflect.Method.invoke(Native Method)
[statefulWebfoot]       at 
org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invokeHome(StatefulSessionContainer.java:514)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:126)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invokeHome(StatefulSessionInstanceInterceptor.java:98)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:135)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:263)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:86)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106)
[statefulWebfoot]       at 
org.jboss.ejb.StatefulSessionContainer.invokeHome(StatefulSessionContainer.java:311)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContainerInvoker.java:143)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContainerInvoker.java:191)
[statefulWebfoot]       at 
org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke(HomeProxy.java:198)
[statefulWebfoot]       at $Proxy12.create(Unknown Source)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.WebFootClient.createSession(WebFootClient.java:192)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.WebFootClient.connect(WebFootClient.java:177)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.WebFootServlet.connectSessionToWebFoot(WebFootServlet.java:215)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.WebFootServlet.connectSessionToWebFoot(WebFootServlet.java:179)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.WebFootServlet.getWebFoot(WebFootServlet.java:119)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.login.LoginServlet.authenticateUser(LoginServlet.java:174)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.login.LoginServlet.doPost(LoginServlet.java:88)
[statefulWebfoot]       at 
com.lisasoft.telstra.webfoot.servlet.login.LoginServlet.doGet(LoginServlet.java:52)
[statefulWebfoot]       at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
[statefulWebfoot]       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[statefulWebfoot]       at 
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java)
[statefulWebfoot]       at org.apache.tomcat.core.Handler.service(Handler.java)
[statefulWebfoot]       at 
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java)
[statefulWebfoot]       at 
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java)
[statefulWebfoot]       at 
org.apache.tomcat.core.ContextManager.service(ContextManager.java)
[statefulWebfoot]       at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java)
[statefulWebfoot]       at 
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java)
[statefulWebfoot]       at 
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java)
[statefulWebfoot]       at java.lang.Thread.run(Thread.java:498)


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to