Hi Ivan,

That worked, thank you.  Your <ejb-local-ref> was defined in the web.xml, 
whilst mine was in the geronimo-web.xml using the proper editor.

Why does this make a difference? Is it a bug?

Cheers,

Michael

Sent from my BlackBerry® wireless device

-----Original Message-----
From: Ivan <xhh...@gmail.com>
Date: Wed, 7 Nov 2012 22:04:05 
To: <user@geronimo.apache.org>
Reply-To: user@geronimo.apache.org
Subject: Re: Geronimo, Wink and JNDI

Just have a try, the codes below work for me. I packaged the ejb and war in
the ear.

TestEJB.jar

package org.apache.geronimo.test;

import javax.ejb.Local;

@Local
public interface TestBeanInterface {

    public void test();
}

package org.apache.geronimo.test;

import javax.ejb.Stateless;

/**
 * Session Bean implementation class TestBean
 */
@Stateless(name = "TestBean")
public class TestBean implements TestBeanInterface {

    /**
     * Default constructor.
     */
    public TestBean() {
        // TODO Auto-generated constructor stub
    }

    public void test() {

    }

}

TestWeb.war

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee";
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";>

    <ejb-local-ref>
        <ejb-ref-name>ejb/TestBean</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <local>org.apache.geronimo.test.TestBeanInterface</local>
        <ejb-link>TestEJB.jar#TestBean</ejb-link>
    </ejb-local-ref>
</web-app>

Hope it helps.

2012/11/7 Michael Baylis <maill...@baylishome.me.uk>

>  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 <maill...@baylishome.me.uk>
>
>> 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
>
>
>


-- 
Ivan

Reply via email to