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_