I'm sort of new to all this, but I will try and do my best to explain.
Think in terms of a packed application (ie application.ear)
Server files:
Server.xml => this defines the location of the ear file so that orion
can find it.
default-web-app.xml => this defines the web-server side of orion, where to
root applications at. So if you had multiple applications then you can root
them at different positions in the directory structure
Client files:
application.xml => this defines all the components of the application. You
will most probably have an EJB component(*.jar), web component (*.war), and
client component (*.jar). Once orion has looked at server.xml and found a
path to this file, it will look for components to deploy (extract). You may
have multiple web components in an application.
Web.xml => this sets up parameters for this particular web, such as welcome
file lists, and tag libraries. AFAIK there is one web.xml file for each web
application.
I hope that explains it.
Scott
----------
From: Garret Wilson[SMTP:[EMAIL PROTECTED]]
Sent: Thursday, 23 November 2000 8:10
To: Orion-Interest
Subject: Re: error instantiating web-app JNDI-context, JSP -> EJB
-- solved!
Finally! I just now found the problem. I needed to add the following
line in
the Orion web-site.xml file:
<web-app application="myApplication" name="web" root="/" />
My test JSP page worked, and since I was calling from within the
container I
just need to use InitialContext() without setting properties.
Now, can someone explain to me why there appear to be *four*
redundant
references to the same application path? They are:
1. In Orion's server.xml file (doctype: application-server):
<application name="myApplication" path="../myApplication/" />
2. Orion's application.xml (doctype: orion-application):
<web-module id="defaultWebApp" path="../myApplication/web/" />
3. Orion's web-site.xml file (doctype: web-site):
<web-app application="myApplication" name="web" root="/" />
4. The J2EE application.xml file (doctype: application):
<module><web><web-uri>web</web-uri></web></module>
Why do these four elements point to the same directory? And why did
I need
to have all four defined before my test would work?
Perhaps I don't fully understand the purpose of each of these; I
would
*love* an explanation.
Thanks for everyone who responded to my original question.
Garret
----- Original Message -----
From: "Boris Gertsberg" <[EMAIL PROTECTED]>
To: "Orion-Interest" <[EMAIL PROTECTED]>
Sent: Wednesday, November 22, 2000 1:27 PM
Subject: Re: error instantiating web-app JNDI-context, JSP -> EJB
> check location="..." for your bean in orion-ejb-jar.xml
>
> Try to do
> Context ctx=new InitialContext();
> Object obj=ctx.lookup("com.company.Caller"); // or whatever JNDI
name you
> have in location in orion-ejb-jar.xml
>
>
> Boris
>
> P.S. It is very nice that you initialize Properties but you should
use
them
> in constructor, i.e.
> Context ctx=new InitialContext(properties);
> As I understand you might need that only if you remotely connect
to
> application server. Everything works fine even without it from JSP
at
least
> in Orion and WebLogic.
>
> ----- Original Message -----
> From: "Garret Wilson" <[EMAIL PROTECTED]>
> To: "Orion-Interest" <[EMAIL PROTECTED]>
> Sent: Wednesday, November 22, 2000 1:44 PM
> Subject: error instantiating web-app JNDI-context, JSP -> EJB
>
>
> > I've been stuck for days trying to call a sample entity EJB from
JSP. (I
> > believe this question has been asked before on the list, but I
can't
find
> > any responses.) Specifically, when calling context.lookup() from
> testdb.jsp,
> > I get the following error:
> >
> > javax.naming.NamingException: Error instantiating web-app
JNDI-context:
No
> > location specified and no suitable instance of the type
> 'com.company.Caller'
> > found for the ejb-ref ejb/CallerBean
> > at
com.evermind.server.http.HttpApplication.getEnvironmentContext(JAX)
> > [etc.]
> >
> > I know that my ejb-jar.xml file is being located correctly,
because
Orion
> > automatically creates the CMP table (note that I am using a
directory
> > structure instead of an actual .jar file):
> >
> > ***ejb-jar.xml***
> > <entity>
> > <description>Represents a caller in the Voyager
system.</description>
> > <ejb-name>com.company.Caller</ejb-name>
> > <home>com.company.CallerHome</home>
> > <remote>com.company.Caller</remote>
> > <ejb-class>com.company.CallerBean</ejb-class>
> > <persistence-type>Container</persistence-type>
> > <prim-key-class>com.company.CallerPK</prim-key-class>
> > [etc.]
> >
> > I also know that my application.xml file works, for the same
reason --
> > otherwise, the ejb-jar.xml file could not be found and the table
created
> > automatically:
> >
> > ***application.xml***
> > <module>
> > <ejb>ejb</ejb>
> > [etc.]
> >
> > Lastly, I know my web.xml file works, at least in part, because
the
> servlets
> > defined in it work correctly. My EJB references in web.xml are
as
follows:
> >
> > ***web.xml***
> > <ejb-ref>
> > <ejb-ref-name>ejb/CallerBean</ejb-ref-name>
> > <ejb-ref-type>Entity</ejb-ref-type>
> > <home>com.company.CallerHome</home>
> > <remote>com.company.Caller</remote>
> >
> > Why then can't my JSP page access the Caller EJB? Here's the JSP
file:
> >
> > ***testdb.jsp***
> > <%@page language="java"%>
> > <%@page import="java.util.Properties"%>
> > <%@page import="javax.ejb.*"%>
> > <%@page import="javax.naming.*"%>
> > <%@page import="javax.rmi.*"%>
> > <%@page import="com.company.*"%>
> > [cut]
> > Context context = new InitialContext();
> > Object boundObject =
context.lookup("java:comp/env/ejb/CallerBean");
> > [etc.]
> >
> > The last line gives the error at the start of this message. I've
even
> tried
> > this:
> >
> > final Properties properties=new Properties();
> > properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
> > "com.evermind.server.ApplicationInitialContextFactory");
> > properties.setProperty(Context.PROVIDER_URL,
> > "ormi://localhost/voyagerApplication");
> > Context context = new InitialContext();
> >
> > That gives the same results. Has anyone called EJB from JSP?
(Yes, I
have
> > read all the Orion tutorials. Yes, I've read the J2EE
specification, the
> > Servlet specification, Java Blueprints, O'Reilly's _Enterprise
JavaBeans_,
> > the Wrox _Java Server Programming J2EE Edition_, and Wiley's
_Mastering
> > Enterprise JavaBeans_.)
> >
> > Thanks for any help,
> >
> > Garret
> > [EMAIL PROTECTED]
> >
> >
>
>