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