If the ejb jar is packaged in the same ear, could you try whether the
configuration below works for you :
<ejb-ref>
<ref-name>ejb/**TestEJB</ref-name>
<ejb-link>bob.ejb#TestEJB</ejb-link>
</ejb-ref>
2012/11/6 Michael Baylis <[email protected]>
> Hi Folks,
> Help!!!
>
> Whenever I start to use Wink with EJBs I always seem to get totally
> confused wth JNDI lookups, please could you resolve this once and for all
> for me.
>
> I have a restful service that would like to do a call to an EJB. I have
> tried many combinations, but the following is what I have pieced together
> from the docs:-
>
> I am using Geronimo 3.0.0, and as I understand it EJB injection does not
> work in Wink (in Geronimo or IBM WAS 8.0) as the service class is loaded
> but the rest servlet, so I have to use a jndi lookup:-
>
> bob.ear has bob.web, the restful service.
> bob.ejb is seperate (but I would like it in the ear).
>
> bob.ejb has TestEJB with a @Remote and @Local which results in:-
>
> 2012-11-05 22:21:45,603 INFO [startup] Assembling app:
> C:\Users\mikebyls\software\**eclipse\default\bob.ejb\1.0\**jar
> 2012-11-05 22:21:45,619 INFO [startup] Jndi(name=TestEJBLocal) -->
> Ejb(deployment-id=bob.ejb.jar/**TestEJB)
> 2012-11-05 22:21:45,619 INFO [startup]
> Jndi(name=global/bob.ejb/**TestEJB!bob.ejb.TestEJBLocal)
> --> Ejb(deployment-id=bob.ejb.jar/**TestEJB)
> 2012-11-05 22:21:45,619 INFO [startup] Jndi(name=TestEJBRemote) -->
> Ejb(deployment-id=bob.ejb.jar/**TestEJB)
> 2012-11-05 22:21:45,619 INFO [startup]
> Jndi(name=global/bob.ejb/**TestEJB!bob.ejb.TestEJBRemote)
> --> Ejb(deployment-id=bob.ejb.jar/**TestEJB)
> 2012-11-05 22:21:45,619 INFO [startup] Jndi(name=global/bob.ejb/**TestEJB)
> --> Ejb(deployment-id=bob.ejb.jar/**TestEJB)
>
> My bob.web deployment is:-
> <web:web-app xmlns:app="http://geronimo.**apache.org/xml/ns/j2ee/**
> application-2.0 <http://geronimo.apache.org/xml/ns/j2ee/application-2.0>"
> xmlns:bp="http://www.osgi.org/**xmlns/blueprint/v1.0.0<http://www.osgi.org/xmlns/blueprint/v1.0.0>"
> xmlns:client="http://geronimo.**apache.org/xml/ns/j2ee/**
> application-client-2.0<http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0>"
> xmlns:conn="http://geronimo.**apache.org/xml/ns/j2ee/**connector-1.2<http://geronimo.apache.org/xml/ns/j2ee/connector-1.2>"
> xmlns:dep="http://geronimo.**apache.org/xml/ns/deployment-**1.2<http://geronimo.apache.org/xml/ns/deployment-1.2>"
> xmlns:ejb="http://openejb.**apache.org/xml/ns/openejb-jar-**2.2<http://openejb.apache.org/xml/ns/openejb-jar-2.2>"
> xmlns:jaspi="http://geronimo.**apache.org/xml/ns/geronimo-**jaspi<http://geronimo.apache.org/xml/ns/geronimo-jaspi>"
> xmlns:log="http://geronimo.**apache.org/xml/ns/loginconfig-**2.0<http://geronimo.apache.org/xml/ns/loginconfig-2.0>"
> xmlns:name="http://geronimo.**apache.org/xml/ns/naming-1.2<http://geronimo.apache.org/xml/ns/naming-1.2>"
> xmlns:pers="http://java.sun.**com/xml/ns/persistence<http://java.sun.com/xml/ns/persistence>"
> xmlns:pkgen="http://openejb.**apache.org/xml/ns/pkgen-2.1<http://openejb.apache.org/xml/ns/pkgen-2.1>"
> xmlns:sec="http://geronimo.**apache.org/xml/ns/security-2.0<http://geronimo.apache.org/xml/ns/security-2.0>
> **"
> xmlns:web="http://geronimo.**apache.org/xml/ns/j2ee/web-2.**0.1<http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1>
> ">
> <dep:environment>
> <dep:moduleId>
> <dep:groupId>default</dep:**groupId>
> <dep:artifactId>bob.web</dep:**artifactId>
> <dep:version>1.0</dep:version>
> <dep:type>car</dep:type>
> </dep:moduleId>
> <dep:dependencies>
> <dep:dependency>
> <dep:groupId>default</dep:**groupId>
> <dep:artifactId>bob.ejb</dep:**artifactId>
> <dep:version>1.0</dep:version>
> <dep:type>jar</dep:type>
> </dep:dependency>
> </dep:dependencies>
> </dep:environment>
> <web:context-root>/bob</web:**context-root>
> <name:ejb-ref>
> <name:ref-name>ejb/TestEJB</**name:ref-name>
> <name:ejb-link>TestEJBRemote</**name:ejb-link>
> </name:ejb-ref>
> </web:web-app>
>
>
> My Test Restful service is:-
>
> @Path("test")
> public class Test1 {
>
> @GET
> @Produces(MediaType.TEXT_**PLAIN)
> public String get() throws NamingException {
>
> InitialContext ic = new InitialContext();
>
> Object x = ic.lookup("java:comp/env/ejb/**TestEJB");
>
> return "boo";
> }
>
> }
>
>
> I have tried allsorts of combinations with the name, with the ejb in the
> same ear, using local and remote interfaces, etc. Ive googled, but cant
> seem to find a combination that willwork.
> I have also tried different "<name:ejb-link>TestEJBRemote<**/name:ejb-link>"
> names.
>
> Please put me out of my misery.
>
> Would it be possible to give me a solution that would work with the EJB
> module in the same EAR as the WEB module please.
>
> Regards,
>
> Michael
>
--
Ivan