• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

how to pass Principal name from the client in EJB

 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hai,

I wrote a stateless session bean as below.
I am using weblogic 8.1 SP5.
This ejb has been deployed successfully, but the problem is how can i call the business methods by passing the 'principal' name.
I request you to please help me in writing the client by passing my principal name.

#MySession.java (Component Interface)
-------------------------------------
package mysessionpkg;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;

public interface MySession extends EJBObject {
public int add(int a, int b)throws RemoteException;
public int sub(int a, int b)throws RemoteException;

}

#MySessionHome.java (Home Interface)
--------------------------------------
package mysessionpkg;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;

public interface MySessionHome extends EJBHome {
public MySession create() throws RemoteException, CreateException;

}

#MySessionBean.java (Bean class)
-----------------------------------
package mysessionpkg;

import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;

public class MySessionBean implements SessionBean {

SessionContext ctx;
public void setSessionContext(SessionContext arg0) throws
EJBException,RemoteException {
ctx = arg0;
System.out.println("from seSessionContext()....");

}

public void ejbRemove() throws EJBException, RemoteException {

System.out.println("from ejbRemove().....");
}

public void ejbActivate() throws EJBException, RemoteException {

System.out.println("from ejbActivate()....");
}

public void ejbPassivate() throws EJBException, RemoteException {

System.out.println("from ejbPassivate().....");
}
public void ejbCreate() {
System.out.println("from ejbCreate().....");
System.out.println("principal name = " + ctx.getCallerPrincipal
().getName());
}
public int add(int a, int b){
System.out.println("from add().....");
System.out.println("principal name = " + ctx.getCallerPrincipal
().getName());
return (a+b);
}
public int sub(int a, int b){
System.out.println("from sub().....");
return (a-b);
}

}

ejb-jar.xml
-------------
<!-- ?xml version="1.0" encoding="UTF-8"? -->
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>


<ejb-jar>
<display-name>MySession</display-name>
<enterprise-beans>
<session>
<display-name>MySession</display-name>
<ejb-name>MySession</ejb-name>
<home>mysessionpkg.MySessionHome</home>
<remote>mysessionpkg.MySession</remote>
<ejb-class>mysessionpkg.MySessionBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>

<assembly-descriptor>
<security-role>
<role-name>CEO</role-name>
</security-role>
<method-permission>
<role-name>CEO</role-name>
<method>
<ejb-name>MySession</ejb-name>
<method-name>add</method-name>
</method>
<method>
<ejb-name>MySession</ejb-name>
<method-name>sub</method-name>
</method>
</method-permission>
</assembly-descriptor>
</ejb-jar>


weblogic-ejb-jar.xml
---------------------------
<!DOCTYPE weblogic-ejb-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN'
'http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd'>

<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>MySession</ejb-name>
<jndi-name>MySession</jndi-name>
</weblogic-enterprise-bean>

<security-role-assignment>
<role-name>
CEO
</role-name>
<principal-name>
Yugi
</principal-name>

</security-role-assignment>
</weblogic-ejb-jar>


Thank you.

regards,
Yugandhar Akkaldevi
 
There’s no place like 127.0.0.1. But I'll always remember this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic