ejb@glassfish.java.net

Re[2]: Connecting to Glassfish from remote web container

From: AKostylev <akostylev_at_ipian.kazan.ru>
Date: Tue, 8 Aug 2006 10:14:18 +0400

Thank you for your answer. It helped a lot.
So I've done all that is written in the page
http://www.caucho.com/resin-3.0/ejb/corba-client.xtp.
To make it work I needed:

appserv-deployment-client.jar
appserv-launch.jar
appserv-rt.jar
j2ee.jar
javaee.jar.

I put
                <jndi-link>
                  <jndi-name>java:comp/env/ejb</jndi-name>
                  <factory>com.sun.enterprise.naming.SerialInitContextFactory</factory>
                  <init-param org.omg.CORBA.ORBInitialHost="localhost"/>
                  <init-param org.omg.CORBA.ORBInitialPort="3700"/>
                </jndi-link>

in resin.conf.
And then I created a context:
Context ic = (Context)new InitialContext().lookup("java:comp/env/ejb");

So when I made

<%
        NamingEnumeration<NameClassPair> values = ic.list("");
        while (values.hasMore())
        {
                %>
                <%=values.next().getName()%>
                <%
        }
%>

I got:

"ejb env ru.amfitel.j2ee5.ejbtest.Converter
ru.amfitel.j2ee5.ejbtest.Converter#ru.amfitel.j2ee5.ejbtest.Converter UserTransaction __SYSTEM jdbc ru.amfitel.j2ee5.ejbtest.Converter__3_x_Internal_RemoteBusinessHome__"

So ru.amfitel.j2ee5.ejbtest.Converter was what I need.
But when I made

Object object = ic.lookup(Converter.class.getName());

I got such exception:

java.lang.NullPointerException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:305)
        at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:61)
        at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:314)
        at _jsp._test__jsp._jspService(test.jsp:30)
        at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
        at com.caucho.jsp.Page.pageservice(Page.java:570)
        at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:175)
        at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
        at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
        at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
        at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
        at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:507)
        at com.caucho.util.ThreadPool.run(ThreadPool.java:433)
        at java.lang.Thread.run(Thread.java:595)


What is a problem, what do you think?
Thank you.

> Hi,

> Recently I saw something on the Resin website concerning J2EE Reference
> implementation from Sun and I believe it works fine to do the same with
> glassfish.
> The fact that it does not work from within glassfish is probably that
> Resin itself also has its JNDI properties loaded. So it does the lookup
> in its own JNDI server, not the one from glassfish.

> Anyway I searched the url and here it is using corba for communication:

> http://www.caucho.com/resin-3.0/ejb/corba-client.xtp

> Correct me if it should be done in a different way (knowing Resin also
> has its own stuff via JNDI, so that has precedence I suppose if you give
> no properties to the InitialContext constructor).

> Just let me know if this solved your problem.

> Best regards,

> Christof


> AKostylev wrote:
>>
>> I put appserv-rt.jar at web-inf/lib and there is no other
>> appserv-rt.jar at web server. So problem is that when using:
>>
>> Context ic = (Context)new InitialContext();
>>
>> Object object = ic.lookup(Converter.class.getName());
>>
>>
>> object is null reference.
>>
>>
>>
>>
>> >
>>
>>
>>
>> Hello,
>>
>>
>> Is appserv-rt.jar still in your classpath? The no-arg constructor for
>> InitialContext works because of a jndi.properties file within
>> appserv-rt.jar, do you possible have another one that is getting
>> picked up? Not sure what would happen if that's the case.
>>
>>
>> What is the stack trace your are getting?
>>
>>
>> -Chase
>>
>>
>>
>> AKostylev wrote:
>>
>> Hello, Kenneth. Thank you for your answer. I'm trying to connect to
>> Session bean placed at Glassfish from Resin. So those stand-alone
>> client steps fro FAQ are working for console application, but not for
>> web application placed at Resin web container. So what I'm trying to
>> do: Context ic = (Context)new InitialContext(); Object object =
>> ic.lookup(Converter.class.getName()); So as I said, this code is
>> working when launching at standalone console application but not at
>> jsp page at Resin web container. What should I do
>>
>> AKostylev wrote:
>>
>>
>>
>> Hello. How should I connect to Session bean at Glasshfish from remote
>> web container (for example. Resin)? Methods for standalone client are
>> not workin for this case.
>>
>> Do you mean you tried the stand-alone client steps outlined in the EJB
>> FAQ and encountered an error? If so, can you post the details. Thanks.
>>
>>
>>
>> --ken
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>>
>> С уважением,
>>
>> AKostylev mailto:akostylev_at_ipian.kazan.ru
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ejb-unsubscribe_at_glassfish.dev.java.net For
>> additional commands, e-mail: ejb-help_at_glassfish.dev.java.net


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ejb-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: ejb-help_at_glassfish.dev.java.net



-- 
С уважением,
 AKostylev                          mailto:akostylev_at_ipian.kazan.ru