cancel
Showing results for 
Search instead for 
Did you mean: 

Getting error while deployment

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Vlado
Advisor
Advisor
0 Kudos

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

Former Member
0 Kudos

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

Vlado
Advisor
Advisor
0 Kudos

Hi Manoj,

The problem is that the home interface BMCSoftwareHome does not extend EJBHome.

-- Vladimir

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Vladimir,

Thats amazing .ITs working now i could test it using the EJBHome interface.

Regards

Manoj

Former Member
0 Kudos

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

Vlado
Advisor
Advisor
0 Kudos

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