Hi Ivan,
I am afraid it didn't make a difference.
I've tried:-
Object x = ic.lookup("java:comp/env/ejb/TestEJB");
Object x = ic.lookup("ejb/TestEJB");
with the ejb-ref you provided.
As I am using EJB 3.1 and annotations, I didn't put anything in
ejb-jar.xml or openejb-jar.xml. Does anything need to go in there?
Cheers,
Michael
On 06/11/2012 14:44, Ivan wrote:
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]
<mailto:[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"
xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:client="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0"
xmlns:conn="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2"
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:ejb="http://openejb.apache.org/xml/ns/openejb-jar-2.2"
xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi"
xmlns:log="http://geronimo.apache.org/xml/ns/loginconfig-2.0"
xmlns:name="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:pers="http://java.sun.com/xml/ns/persistence"
xmlns:pkgen="http://openejb.apache.org/xml/ns/pkgen-2.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0"
xmlns:web="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