G'Day
I am also working with Struts 1.0 and Orion 1.4 and having problems.
The main thing that I have realised is that
org.apache.struts.action.MESSAGE is the default web browser error for struts.
To know what is going on in more detail I suggest studying
orion\log\global-application.log
So far I have over come some of the errors by placing struts.jar in orion\lib
and the ApplicationResources.properties file in orion\lib under the directory
set in struts-config.xml
My current stumbling block in reading the struts-config_1_0.dtd
I have tried all the suggestions on this mailing list but so far have had no
success.
MacGill
Juan Gargiulo wrote:
> Did somebody found a work-around for the "Missing resources" problem in
> Orion 1.4?
> I tried several different potential solutions but none of them worked. I
> really need to get struts 1.0 working with Orion 1.4 ASAP.
>
> Thank you in advance,
>
> juan
>
> -----Original Message-----
> From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, November 21, 2000 9:53 AM
> To: [EMAIL PROTECTED]
> Subject: Re: org.apache.struts.action.MESSAGE exception with orion 1.4
>
> "Douma, Ate" wrote:
>
> > The two problems preventing the Struts example (build 20001120) to work on
> > Orion (1.4.0) can be solved as follows:
> >
> > 1. javax.servlet.jsp.JspException: Missing resources attribute
> > org.apache.struts.action.MESSAGE error
> >
> > The problem is caused by Orion not allowing access on resources (in this
> > case a resourcebundle property file) in the WEB-INF/classes folder. It
> seems
> > that the Servlet 2.2 spec. doesn't states clearly if this is allowed or
> not;
> > the Orion team decided to not allow access.
> > A simple solution is making the resources available through the
> (application
> > its) classpath.
> > By jarring the resources (e.g. the WEB-INF/classes folders) and putting
> this
> > jar in the WEB-INF/lib folder the resources can be found.
> >
> > I would suggest the Stuts team to implement this solution for the struts
> > example as Orion is probably not going to change its behavior in this.
> >
>
> I would suggest instead that Orion fix their buggy classloader. This
> particular
> issue has nothing to do with the servlet specification -- Orion is not
> implementing the getResource() method of java.lang.ClassLoader, which is
> used by
> the ResourceBundle classes of the JDK, correctly.
>
> >
> > 2. java.net.MalformedURLException: unknown protocol: jndi
> >
> > The solution to this problem is given by Olli Pyry yesterday in the
> message
> > with subject: Strugs & Orion & JNDI
> >
> > > From: Olli Pöyry[SMTP:[EMAIL PROTECTED]]
> > > Sent: Tuesday, November 21, 2000 9:51:08 AM
> > > To: [EMAIL PROTECTED]
> > > Cc: [EMAIL PROTECTED]
> > > Subject: Strugs & Orion & JNDI
> > >
> > > The following error that occurs in ActionServlet's startup with the
> > newest
> > > Struts nightly build and Orion:
> > >
> > > register('-//Apache Software Foundation//DTD Struts Configuration
> > 1.0//EN',
> > >
> >
> 'jndi:/home/jblum/web/struts/WEB-INF/lib/struts.jar/org/apache/struts/resour
> > > ces/struts-config_1_0.dtd'
> > > resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
> > > 1.0//EN',
> 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
> > > Resolving to alternate DTD
> > >
> >
> 'jndi:/home/jblum/web/struts/WEB-INF/lib/struts.jar/org/apache/struts/resour
> > > ces/struts-config_1_0.dtd'
> > >
> > > seems be caused from the following line in ActionServlet.java (about
> > line
> > > 881):
> > >
> > > URL url = this.getClass().getResource(registrations[i+1]);
> > >
> > > when this is replaced with:
> > >
> > > URL url =
> > getServletContext().getResource(registrations[i+1]);
> > >
> > > the dtd is found and everything works.
> > > However you have to rebuild struts.jar - but that is easy ant.
> > >
> > > Hope this helps!
> > >
> > > Olli Pyry, Essaim Oy, Helsinki, Finland
> >
> > As this requires changing the source, I kindly request that the Struts
> > development team could fix this also.
> >
>
> This statement again depends on the container correctly implementing the
> class
> loader they are using for web applications.
>
> My understanding is that Struts has been working fine with previous versions
> of
> Orion. It sounds like they changed something in the latest code. If so,
> they
> should change it back.
>
> >
> > Ate Douma
> >
>
> Craig McClanahan
>
> >
> > -----Original Message-----
> > From: Kevin Wang [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, November 20, 2000 6:32 PM
> > To: '[EMAIL PROTECTED]'
> > Subject: RE: org.apache.struts.action.MESSAGE exception with orion 1.4
> >
> > Struts 1.0 example (11/15 nightly) is not working on Orion (1.2.9) either.
> > It seems something is wrong with 'jndi' as it use jndi to resolve
> > 'struts-config_1_0.dtd'.
> >
> > Here is a common exception ...
> >
> > java.net.MalformedURLException: unknown protocol: jndi
> > at
> > org.apache.struts.digester.Digester.resolveEntity(Digester.java:619)
> > at
> > com.sun.xml.parser.ExternalEntity.getInputSource(ExternalEntity.java:46)
> > at com.sun.xml.parser.Parser.pushReader(Parser.java:2768)
> > at
> > com.sun.xml.parser.Parser.externalParameterEntity(Parser.java:2504)
> > at com.sun.xml.parser.Parser.maybeDoctypeDecl(Parser.java:1137)
> > at com.sun.xml.parser.Parser.parseInternal(Parser.java:481)
> > at com.sun.xml.parser.Parser.parse(Parser.java:284)
> > at javax.xml.parsers.SAXParser.parse(SAXParser.java:155)
> > at javax.xml.parsers.SAXParser.parse(SAXParser.java:77)
> > at org.apache.struts.digester.Digester.parse(Digester.java:754)
> > at
> > org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java,
> > Compiled Code)
> > at
> > org.apache.struts.action.ActionServlet.init(ActionServlet.java:393)
> > at javax.servlet.GenericServlet.init(GenericServlet.java)
> > at com.evermind.server.http.HttpApplication.vt(JAX)
> > at com.evermind.server.http.HttpApplication.vc(JAX)
> > at com.evermind.server.http.HttpApplication.tp(JAX, Compiled Code)
> > at com.evermind.server.http.d5.rx(JAX, Compiled Code)
> > at com.evermind.server.http.d5.rw(JAX, Compiled Code)
> > at com.evermind.util.f.run(JAX, Compiled Code)
> >
> > -----Original Message-----
> > From: Denis Hanson [mailto:[EMAIL PROTECTED]]
> > Sent: Sunday, November 19, 2000 4:12 PM
> > To: [EMAIL PROTECTED]
> > Subject: org.apache.struts.action.MESSAGE exception with orion 1.4
> >
> > Hi all,
> >
> > I've encountered the ever-popular Missing resources attribute
> > org.apache.struts.action.MESSAGE error when trying to access the
> > struts-example application using Win NT, orionserver 1.4, jdk1.3 and
> struts
> > from 13Nov. I've searched through the struts message archives and tried
> all
> > the suggestions I could find, but still no luck. (I was able to deploy
> the
> > example on JRun 3.0, but not on orionserver.)
> >
> > Any help will be greatly appreciated because I definitely want to use
> > orionserver instead of JRun.
> >
> > Here's the error:
> >
> > javax.servlet.jsp.JspException: Missing resources attribute
> > org.apache.struts.action.MESSAGE
> > at
> > org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:232)
> > at /index.jsp._jspService(/index.jsp.java:39) (JSP page line 8)
> > at com.orionserver.http.OrionHttpJspPage.service(JAX)
> > at com.evermind.server.http.HttpApplication.xa(JAX)
> > at com.evermind.server.http.JSPServlet.service(JAX)
> > at com.evermind.server.http.d3.so(JAX)
> > at com.evermind.server.http.d3.sm(JAX)
> > at com.evermind.server.http.ef.su(JAX)
> > at com.evermind.server.http.ef.dn(JAX)
> > at com.evermind.util.f.run(JAX)
> >
> > Here's my application.xml entry:
> >
> > <web-module id="strutsExample"
> > path="d:\struts\webapps\struts-example.war"/>
> >
> > Here's my default-web-site.xml entry:
> >
> > <web-app application="default" name="strutsExample"
> > root="/struts-example"/>
> >
> > Orion is at d:\orion and struts is at d:\struts.
> >
> > Thanks,
> >
> > Denis Hanson