I use Stateless Session Bean to act as a facade to access a local CMP. According to was5.0 requirements, I defined ejb-local-ref in the ejb-jar.xml though the 2 beans are in the same jar file(ejb-ref-name is localPerson). I checked ibm-ejb-jar-bnd.xmi, there are the following bindings: <ejbRefBindings ..jndiName="localPerson".. <bindingEjbRef xmi:type="common:EJBLocalRef" ...
I use JNDI name java:comp/env/localPerson to lookup, but got the following exception: Reference Factory Class Name: com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory Reference Factory Class Location URLs: <null> Reference Class Name: java.lang.Object Type: JndiLookupInfo Content: JndiLookupInfo: jndiName="local:ejb/localPerson"; providerURL=""; initialContextFactory="" Exception data follows: javax.naming.ConfigurationException: NamingManager.getURLContext can not find the factory for this scheme: local at com.ibm.ws.naming.jndicos.CNContextImpl.checkForUrlContext(CNContextImpl.java:2574) I really cannot figure out why. Anyone have the same problem? [ June 08, 2003: Message edited by: Robert Luozn ] [ June 08, 2003: Message edited by: Robert Luozn ] [ June 08, 2003: Message edited by: Robert Luozn ]
Yes, that's exactly the way I did. I'm now wondering the problem is maybe related to the configuration because the exception is ConfigurationException. And I think when NamingManager handle the local Reference, it cannot do with such name as "local:", but I think was ejb container should support local reference without any configuration.
Finally I figure out why. it is because the entity bean have both local and remote interface. After I remove the remote interface, it works. But I think EJB spec2.0 do support Entity Bean with both local and remote interface. So I don't know how to explain this. But it's OK, I think, because we prefer local to remote interface for entity bean
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop