on 07-28-2007 7:16 AM
Hi ,
I reffered to the "Accessing EJB Using JNDI SAP Netweaver Application server ,Java EE 5"
I followed the steps as mentioned in the document and i could sucessfully access the EJB using JNDI from a standalone java program.
The two files were created while writing if for EJB 3.0 from Netweaver editor
a)BMCSoftwareBean .java
import javax.ejb.RemoteHome;
import javax.ejb.Stateless;
import java.rmi.RemoteException;
/**
@author Administrator
*
*/
@Stateless
public class BMCSoftwareBean implements BMCSoftwareRemote {
public String hello(String name) {
return "hello" + name;
}
}
b)
package com.bmc;
import javax.ejb.Remote;
/**
@author Administrator
*
*/
@Remote
public interface BMCSoftwareRemote {
public String hello(String name) ;.
}
This code worked fine.
Then i tried the
"Accessign EJB 2.x-style Home interfaces"
As mentioned in the doc
I added two new interfaces
a)BMCSoftware.java
b)BMCSoftwareHome.java
The code is as follows:
package com.bmc;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
public interface BMCSoftware extends EJBObject {
public String hello(String name) throws RemoteException;
}
b)BMCSoftwareHome .java
package com.bmc;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
public interface BMCSoftwareHome {
public BMCSoftware create() throws CreateException,RemoteException;
}
Then i deployed the bean .i got the following error
Jul 27, 2007 8:16:16 PM [Path ] [Server 00 01_176953] (52) :Delivery finished
Jul 27, 2007 8:17:07 PM [Path ] [Server 00 01_176953] (52) :Observer 'Repository Deployment Observer' has been notified. Component:sap.com_BMCBeanEAR.
Jul 27, 2007 8:17:27 PM [Path ] [Server 00 01_176953] (52) :Observer 'Comp Vers Deployment Observer' has been notified. Component:sap.com_BMCBeanEAR.
Jul 27, 2007 8:17:47 PM [Path ] [Server 00 01_176953] (52) :+++++++ Deployment for item 'sap.com_BMCBeanEAR' finished with 'Delivered' for '621941' ms +++++++
Jul 27, 2007 8:17:47 PM [Path ] [Server 00 01_176953] (52) :Starting component with name 'BMCBeanEAR' and vendor 'sap.com'
Jul 27, 2007 8:17:47 PM [Path ] [Server 00 01_176953] (52) :Performing Java EE start operation for development component name: 'BMCBeanEAR', vendor: 'sap.com', location: 'localhost', version: '2007.07.27.20.04.08', software type: 'J2EE', dependencies: '[]'
Jul 27, 2007 8:21:46 PM [Info ] [Server 00 01_176953] (52) :Exception has been returned while the 'sap.com/BMCBeanEAR' was starting. Warning/Exception :
Error occurred while starting application sap.com/BMCBeanEAR and wait.
Reason: Clusterwide exception: server ID 17695350:com.sap.engine.services.deploy.container.DeploymentException: interface com.bmc.BMCSoftware is not visible from class loader
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:877)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl.prepareStart(ContainerInterfaceImpl.java:420)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:211)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:171)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:393)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:418)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:318)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:533)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:230)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:374)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2955)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2885)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2861)
at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
What can be the problem here
Best Regards
Manoj
hi,
Just forgot to mention that
The following line was added to the bean code as metioned in the document.
@Stateless
<b>@RemoteHome(value=BMCSoftwareHome.class)</b>
public class BMCSoftwareBean implements BMCSoftwareRemote {
Best Regards
Manoj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Manoj,
Can you double check that the bean class and all relevant interfaces are bundled in the deployed EAR file?
The DeploymentException should also contain nested exceptions. Can you also look for the complete stack trace in the defaultTrace file (/usr/sap/CE1/J01/j2ee/cluster/server0/log)?
HTH!
-- Vladimir
Hi Vladimir,
The files are present in the project BMCBeanEAR.
The entire log is
[EXCEPTION]
#1#com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Clusterwide exception: server ID 17695350:com.sap.engine.services.deploy.container.DeploymentException: interface com.bmc.BMCSoftware is not visible from class loader
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:877)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl.prepareStart(ContainerInterfaceImpl.java:420)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:211)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:171)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:393)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:418)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:318)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:533)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:230)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:374)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2955)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2885)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2861)
at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:646)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:637)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:488)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:209)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:154)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:875)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351)
at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:61)
at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:36)
at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:882)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:52)
at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:287)
<u><i><b>Caused by: java.lang.IllegalArgumentException: interface com.bmc.BMCSoftware is not visible from class loader</b></i></u>
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:356)
at com.sap.engine.services.ejb3.runtime.impl.StatelessHomeStubInvocationHandler.<init>(StatelessHomeStubInvocationHandler.java:61)
at com.sap.engine.services.ejb3.runtime.impl.StatelessHomeStubInvocationHandler.createClientEJBHomeProxy(StatelessHomeStubInvocationHandler.java:81)
at com.sap.engine.services.ejb3.runtime.impl.StatelessHomeStubInvocationHandler.createClientEJBHomeProxy(StatelessHomeStubInvocationHandler.java:87)
at com.sap.engine.services.ejb3.runtime.impl.StatelessHomeInterfaceFactory.newInstance(StatelessHomeInterfaceFactory.java:51)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEnterpriseBeanContainer.getEJBHome(DefaultEnterpriseBeanContainer.java:294)
at com.sap.engine.services.ejb3.runtime.impl.Actions_ComponentInterfacesProviderJNDIRootBindings.perform(Actions_ComponentInterfacesProviderJNDIRootBindings.java:41)
at com.sap.engine.services.ejb3.runtime.impl.Actions_StatelessBeanJNDIRootBindings.perform(Actions_StatelessBeanJNDIRootBindings.java:28)
at com.sap.engine.services.ejb3.container.CompositeAction.perform(CompositeAction.java:81)
at com.sap.engine.services.ejb3.container.ApplicationStarter.perform(ApplicationStarter.java:59)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:874)
... 33 more
at com.sap.engine.services.deploy.server.application.StartTransaction.sleepClientThread(StartTransaction.java:557)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:231)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:374)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2955)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2885)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2861)
at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:31)
at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessDeplItem(DefaultDeployPostProcessor.java:70)
at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:58)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:646)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:637)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:488)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:209)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:154)
at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:875)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351)
at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:61)
at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:36)
at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:882)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:52)
at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:287)
Best Regards
Manoj
Hi Vladimir,
Thats amazing .ITs working now i could test it using the EJBHome interface.
Regards
Manoj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vladimir,
Just had one doubt to clarify.
I guess it is not related to SAP Netweaver
How can we access the Bean running in J2EE environemnt with ejb-j2ee-engine
without having the beanname in it, using the EJB2.0 client.
I am asking this bocs i have developed a bean usinf ejb2.0 having the ejb-j2ee-engine.xml and application-j2ee.xml.
The xml have the JNDI anme in it and then i access it using the EJB 2.0 home ineterafce form standalone java client program.
Does the annotation takes the care .
Best Regards
Manoj
Hi Manoj,
There is no standardized way in the specs as to how to access EJBs from non-Java EE components. On the SAP NetWeaver app server you are encouraged to use the <a href="http://help.sap.com/saphelp_nwce10/helpdata/en/45/e692b2cfaa5591e10000000a1553f7/frameset.htm">EJB lookup schemes</a>.
HTH!
-- Vladimir
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.