on 03-11-2004 5:18 PM
Hi,
I have a session bean which calls methods in the entity bean.
The entity bean methods can only be called by certain roles.
I followed the documentation in security for entity beans in Development manual.
When I deploy and run the ear and then through a client
and access the session bean
which accesses the entity bean I am getting errors
#
#1.5#00E081006A49003A00000003000010880003D55D9FE275E3#1079
023021453#com.sap.engine.services.ejb#sap.com/dmEAR#com.sa
p.engine.services.ejb#TestUser#18#####SAPEngine_Applicatio
n_Thread[impl:3]_19##0#0#Path#1#/System/Audit#Java###Exception #1#com.sap.engine.services.ejb.exceptions.
BaseClassNotFoundException: EJBLoader cannot find class:
com/sun/jndi/url/java/javaURLContextFactory.class.
at com.sap.engine.services.ejb.deploy.EJBLoader.
loadLocalClass(EJBLoader.java:101)
at
com.sap.engine.frame.core.load.ReferencedLoader.loadClass
(ReferencedLoader.java:340)
at
com.sap.engine.frame.core.load.ReferencedLoader.loadClass
(ReferencedLoader.java:301)
at java.lang.ClassLoader.loadClassInternal
(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
com.sun.naming.internal.VersionHelper12.loadClass
(VersionHelper12.java:50)
at
com.sun.naming.internal.ResourceManager.getFactory
(ResourceManager.java:371)
at javax.naming.spi.NamingManager.getURLObject
(NamingManager.java:570)
at javax.naming.spi.NamingManager.getURLContext
(NamingManager.java:528)
at
com.sap.engine.system.naming.provider.DefaultInitialContex
t.getURLOrDefaultInitCtx(DefaultInitialContext.java:120)
at javax.naming.InitialContext.lookup
(InitialContext.java:347)
at javax.naming.InitialContext.lookup
(InitialContext.java:347)
at
com.hp.dm.server.ejb.DocumentManagerSB.getDocumentEBLHif
(DocumentManagerSB.java:148)
at
com.hp.dm.server.ejb.DocumentManagerSB.ejbCreate
(DocumentManagerSB.java:49)
at
com.hp.dm.common.interfaces.DocumentManagerHifImpl0.initSe
ssionBean(DocumentManagerHifImpl0.java:114)
at
com.sap.engine.services.ejb.session.stateless.StatelessCon
tainerFP.createContext(StatelessContainerFP.java:50)
at
com.sap.engine.services.ejb.session.stateless.StatelessCon
tainer.createObject(StatelessContainer.java:173)
at
com.sap.engine.services.ejb.util.pool.ContainerPoolImpl.do
ResizeOneStepUp(ContainerPoolImpl.java:345)
at
com.sap.engine.services.ejb.util.pool.ContainerPoolImpl.en
sureNotEmpty(ContainerPoolImpl.java:314)
at
com.sap.engine.services.ejb.util.pool.ContainerPoolImpl.po
p(ContainerPoolImpl.java:284)
at
com.sap.engine.services.ejb.session.stateless.StatelessCon
tainer.getContext(StatelessContainer.java:96)
at
com.sap.engine.services.ejb.session.stateless.StatelessSes
sion.getContext(StatelessSession.java:64)
at
com.hp.dm.common.interfaces.DocumentManagerRifObjectImpl0.
_submitDocument(DocumentManagerRifObjectImpl0.java:242)
at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke
(Method.java:324)
at
com.hp.dm.common.interfaces.DocumentManagerRifObjectImpl0.
run(DocumentManagerRifObjectImpl0.java:106)
at java.security.AccessController.doPrivileged
(Native Method)
at javax.security.auth.Subject.doAs
(Subject.java:379)
at
com.hp.dm.common.interfaces.DocumentManagerRifObjectImpl0.
submitDocument(DocumentManagerRifObjectImpl0.java:184)
at
com.hp.dm.common.interfaces.DocumentManagerRifObjectImpl0p
4_Skel.dispatch
(DocumentManagerRifObjectImpl0p4_Skel.java:102)
at
com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
(DispatchImpl.java:268)
at
com.sap.engine.services.rmi_p4.DispatchImpl._run
(DispatchImpl.java:165)
at
com.sap.engine.services.rmi_p4.server.P4SessionProcessor.r
equest(P4SessionProcessor.java:102)
at
com.sap.engine.core.service630.context.cluster.session.App
licationSessionMessageListener.proces
s(ApplicationSessionMessageListener.java:37)
at
com.sap.engine.core.cluster.impl6.session.UnorderedChannel
$MessageRunner.run(UnorderedChannel.java:71)
at
com.sap.engine.core.thread.impl3.ActionObject.run
(ActionObject.java:37)
at java.security.AccessController.doPrivileged
(Native Method)
at
com.sap.engine.core.thread.impl3.SingleThread.execute
(SingleThread.java:94)
at
com.sap.engine.core.thread.impl3.SingleThread.run
(SingleThread.java:140)
EJB_JAR.XML
so my ejb-jar.xml has
<entity>
<ejb-name>DocumentEB</ejb-name>
<home>com.hp.dm.common.interfaces.DocumentEBHif</home>
<remote>com.hp.dm.common.interfaces.DocumentEBRif</remote>
<local-home>
com.hp.dm.common.interfaces.DocumentEBLHif
</local-home>
<local>com.hp.dm.common.interfaces.DocumentEBLif</local>
<ejb-class>com.hp.dm.server.ejb.DocumentEB</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<abstract-schema-name>
</abstract-schema-name>
<security-identity>
<description>SecurityIdentityUser</description>
<run-as>
<role-name>testuser</role-name>
</run-as>
</security-identity>
</entity>
and the assembly descriptor is
<assembly-descriptor>
<security-role>
<description>
</description>
<role-name>testuser</role-name>
</security-role>
<method-permission>
<description>method-permission</description>
<role-name>testuser</role-name>
<method>
<ejb-name>DocumentEB</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
</assembly-descriptor>
The ejb-j2ee-engine.xml has
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-j2ee-engine SYSTEM "ejb-j2ee-engine.dtd">
<ejb-j2ee-engine>
<description>
</description>
<enterprise-beans>
<enterprise-bean>
<ejb-name>DocumentCMPEBBean</ejb-name>
<jndi-name>DocManager/DocumentEB</jndi-name>
<entity-props/>
</enterprise-bean>
<enterprise-bean>
<ejb-name>DocumentEB</ejb-name>
<jndi-name>DocManager/DocumentEJB</jndi-name>
<run-as-identity-map>
<user-name>TestUser</user-name>
</run-as-identity-map>
<entity-props/>
</enterprise-bean>
<enterprise-bean>
<ejb-name>DocumentManagerSB</ejb-name>
<jndi-name>DocManager/DocumentManagerSB</jndi-name>
<session-props/>
</enterprise-bean>
</enterprise-beans>
<security-permission>
<security-role-map>
<role-name>testuser</role-name>
<server-role-name>TestUser</server-role-name>
</security-role-map>
</security-permission>
</ejb-j2ee-engine>
any idea as to what may be wrong if I remove the method permission items everything works correctly. Please help.
Thanks a lot
Padmaja
Hi I am also getting same exception.
Can you help me how to overcome this problem if you had solved it.
I am using SAP Netweaver WEB AS6.40
Thanks in advance
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.