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]