Well, if that's the case, then what's the point of putting ejb-ref in to the
application-client? The client can just always lookup by absolute name
inthe JNDI namespace. And how would an independent client developer
possibly know the EJB names deployed in your custom environment?
-AP_
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Jeff Hubbach
Sent: Friday, March 16, 2001 8:00 AM
To: Orion-Interest
Subject: Re: Problems with JNDI lookups of <ejb-ref-name> defined in
application-client.xml from a client application...
Just a sidenote, maybe it's your problem. From page 377 of Enterprise
JavaBeans, 2nd Edition (Oreilly):
"The ejb-link value must match one of the ejb-name values declared in the
same
deployment descriptor."
That is, it's only valid if you're using an ejb-jar.xml to define multiple
beans.
Jeff Hubbach.
Alex Paransky wrote:
> I have a client application which has META-INF with the following
> application-client.xml definition:
>
> <application-client>
> <ejb-ref>
> <ejb-ref-name>ejb/id</ejb-ref-name>
> <ejb-ref-type>Session</ejb-ref-type>
> <home>com.indnet.model.id.IdSessionHome</home>
> <remote>com.indnet.model.id.IdSession</remote>
> <ejb-link>Id</ejb-link>
> </ejb-ref>
> </application-client>
>
> In the client, I attempt to do the following:
>
> new InitialContext().lookup("ejb/id");
>
> The above fails with the naming exception, telling me that ejb/id cannot
be
> found:
>
> Exception in thread "main" javax.naming.NameNotFoundException: ejb/id not
> found
> at com.evermind.server.rmi.RMIContext.lookup(JAX)
> at com.evermind.naming.jz.lookup(JAX)
> at javax.naming.InitialContext.lookup(InitialContext.java:350)
> at com.indnet.model.id.test.Client.main(Client.java:16)
>
> If I change my client line to read:
>
> new InitialContext().lookup("Id");
>
> Things work correctly. "Id" is the <ejb-name> used for my object:
>
> <enterprise-beans>
> <session>
> <ejb-name>Id</ejb-name>
> <home>com.indnet.model.id.IdSessionHome</home>
> <remote>com.indnet.model.id.IdSession</remote>
> <ejb-class>com.indnet.model.id.IdSessionBean</ejb-class>
> <session-type>Stateless</session-type>
> ...
>
> What is the purpose of application-client.xml if I cannot create
references
> and use the name specified in <ejb-ref-name> to lookup the components? Or
> am I missing something?
>
> Thanks.
> -AP_
--
Jeff Hubbach
Internet Developer
New Media Designs, Inc.
www.nmd.com