Hi Santosh,
As I understood, Orion by default binds ejb to JNDI name which is the same
as ejb's name (<ejb-name> tag in the ejb-jar.xml) To change that you have to
change binding in orion-ejb-jar.xml (which is in.
orion/application-deployments/appname/ejbjarname.jar/orion-ejb-jar.xml) and
change location attribute.
Also when I worked from remote client I could get ejb only using
com.evermind.server.ApplicationClientInitialContextFactory
as context factory. RMIInitialContextFactory didn't work in my case.
Also I had to provide orion-cart-client.xml file (which, I guess, is used by
Context Factory ) not to mention remote and home.
Could you let me know if you succeed, because we would be interested in that
kind of integration too, but
I've read that RESIN uses some proprietary protocol for EJB support, so only
orion's libraries should be use
on RESIN side when handling EJBs. I didn't try that myself yet.
Oleg Lebedko
Wireless Networks, Technology Development
2920 Matheson Blvd. E., F7
Mississauga, ON L4W 5J4
* (905) 282 - 3263 [150 - 3263]
* [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
-----Original Message-----
From: Santosh Kumar [SMTP:[EMAIL PROTECTED]]
Sent: Thursday, November 23, 2000 4:50 AM
To: Orion-Interest
Subject: Re: Calling EJB in Orion from Resin -Problem,
Did'nt work..
Santosh
----- Original Message -----
From: Montebove Luciano <[EMAIL PROTECTED]>
To: Orion-Interest <[EMAIL PROTECTED]>
Sent: Thursday, November 23, 2000 1:18 PM
Subject: R: Calling EJB in Orion from Resin -Problem,
Substitute
Object boundObject =
context.lookup("java:comp/env/ejb/HelloHome");
with
Object boundObject =
context.lookup("java:comp/env/ejb/Hello");
Luciano
-----Messaggio originale-----
Da: Santosh Kumar [mailto:[EMAIL PROTECTED]]
Inviato: mercoled� 22 novembre 2000 13.23
A: Orion-Interest
Oggetto: Calling EJB in Orion from Resin -Problem,
Hi All,
I am onto an interesting task of using resin as the EJB client
for Orion.
Everything seems to be in line but i dont know why i get this
problem when
i run the orion-primer example EJB with the servlet part executing
on the
RESIN.
javax.servlet.ServletException: Unable to get home interface:
javax.naming.NameNotFoundException: expected intermediate context in
`ejb/HelloHome' at hello.web.HelloServlet.init(HelloServlet.java:47)
at
com.caucho.server.http.Application.loadServlet(Application.java:1504) at
com.caucho.server.http.Invocation.service(Invocation.java:207) at
com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:142) at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:211) at
com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:145) at
com.caucho.server.TcpConnection.run(TcpConnection.java:139) at
java.lang.Thread.run(Thread.java:484)
Servlet code:
public void init(ServletConfig config) throws ServletException {
// Get the initial JNDI context using our settings
Context context;
try {
context = new InitialContext();
}
catch (Throwable exception) {
throw new ServletException(
"Unable to get initial JNDI context: " +
exception.toString());
}
// Get a reference to the Hello home interface
HelloHome helloHome;
try {
Object boundObject =
context.lookup("java:comp/env/ejb/HelloHome");
helloHome = (HelloHome)
PortableRemoteObject.narrow(boundObject,
HelloHome.class);
}
catch (Throwable exception) {
throw new ServletException(
"Unable to get home interface: " +
exception.toString());
}
WEB.xml (which resin specifies to add in its app)
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<classpath id='WEB-INF/classes/orion.jar'/>
<classpath id='WEB-INF/classes/mail.jar'/>
<classpath id='WEB-INF/classes/ejb.jar'/>
<jndi-link>
<jndi-name>java:comp/env/ejb</jndi-name>
<jndi-factory>com.evermind.server.rmi.RMIInitialContextFactory
</jndi-factory>
<init-param
java.naming.provider.url="ormi://3.209.125.41/orion-primer"/>
<init-param java.naming.security.principal="admin"/>
<init-param java.naming.security.credentials="123"/>
</jndi-link>
</web-app>
at the orion side i have made this change(true -> false) in
principal.xml (I
am not sure whether i should do this or not)
<user username="admin" password="123" deactivated="false">
<description>The default administrator</description>
<group-membership group="administrators" />
<group-membership group="guests" />
<group-membership group="users" />
</user>
These are the only two things that i have done ..What i dont
understand is
why am i getting this error
Unable to get home interface:
javax.naming.NameNotFoundException: expected intermediate context in
`ejb/HelloHome'
I think there is some problem in which the initialcontext is
set..probably i
should
modify the way InitialContext is set..
Please Help me!!!
Regards,
Santosh.
===========================================================================
= Santosh Kumar C
=
= Senior Systems Engineer
=
= Wipro Technologies
=
= 1-8-448, Laxmi Building, S.P. Road,
=
= Begumpet, Secunderabad - 500 003
=
= A.P, India.
=
= Phone@: 91407896008 Ext 4511
=
= Fax @: 91407896123
=
= eMail@: <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]
=
= url @: <http://www.wipro.com> http://www.wipro.com
=
= The World's First SEI CMM Level 5 Software Services Company
=
===========================================================================