[jboss-user] [JBoss and NetBeans] - NamingException: Could not dereference object - EJB 3.0 work
htran_888
do-not-reply at jboss.com
Wed Feb 14 18:25:34 EST 2007
Hi Everyone,
I have stucked on workbook ex05_2 that makes comparison between using the same entity bean in TransactionPersistenceContext & ExtendedPersistenceContext. Anyhow, the following error occurred when trying to access either of these contexts:
javax.naming.NamingException: Could not dereference object [Root exception is java.lang.reflect.UndeclaredThrowableException]
at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1150)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at client.Main.main(Main.java:33)
Caused by: java.lang.reflect.UndeclaredThrowableException
at $Proxy1.createProxy(Unknown Source)
at org.jboss.ejb3.JndiProxyFactory.getObjectInstance(JndiProxyFactory.java:52)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1125)
at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1142)
... 4 more
This message make sense considering the jndi listing as follows:
+- ExtendedPersistenceContextBean (class: org.jnp.interfaces.NamingContext)
| +- remote (class: java.lang.Object)
| +- remoteStatefulProxyFactory (proxy: $Proxy76 implements interface org.jboss.ejb3.ProxyFactory)
+- TravelAgentBean (class: org.jnp.interfaces.NamingContext)
| +- remote (proxy: $Proxy81 implements interface travelagent.TravelAgentRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
+- TransactionPersistenceContextBean (class: org.jnp.interfaces.NamingContext)
| +- remote (class: java.lang.Object)
| +- remoteStatefulProxyFactory (proxy: $Proxy76 implements interface org.jboss.ejb3.ProxyFactory)
To call TravelAgentRemote interface, use jndiContext.lookup("TravelAgentBean/remote"). However, it appears that
I would not get anything by calling either jndiContext.lookup("TransactionPersistenceContextBean/remote") or jndiContext.lookup("ExtendedPersistenceContextBean/remote") according to the above jndi table.
The client code are as follows:
try
| {
| Context jndiContext = getInitialContext();
| Object ref = jndiContext.lookup("TravelAgentBean/remote");
| TravelAgentRemote dao = (TravelAgentRemote)ref;
|
| ref = jndiContext.lookup("TransactionPersistenceContextBean/remote");
| TransactionPersistenceContextRemote txBean = (TransactionPersistenceContextRemote)ref;
|
| Cabin fetchedCabin = dao.findCabin(1);
| int oldBedCount = fetchedCabin.getBedCount();
|
| System.out.println("Set up transaction persistence context stateful bean");
| txBean.setCabin(1);
| txBean.updateBedCount(5);
|
| ref = jndiContext.lookup("ExtendedPersistenceContextBean/remote");
| ExtendedPersistenceContextRemote extendedBean = (ExtendedPersistenceContextRemote)ref;
|
| extendedBean.setCabin(1);
| extendedBean.updateBedCount(5);
| ....
This exercise does not work as delivered on the command prompt.
I am running Netbeans 5.5, JBoss 4.0.5GA & JDK1.6.0 on Windows XP platform.
The workbook is from EJB 3.0 by Bill Burke.
Any assistance would be greatly appreciated.
Thanks,
Henry
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4016737#4016737
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4016737
More information about the jboss-user
mailing list