Hi,
I had similar problem couple of days back but I
sought of "solved" it by trying to deploy struts-example in Orion. What i did
was to un-jar
struts-example into
/web/ and modify the struts-config.xml
and web.xml to suit my appl needs. I also
extracted struts-config_1_0.xml into
/web/ web-inf/classes and removed the
same file from struts.jar which is in
/web/ web-inf/lib . I am quite
comfortable
with servlet2.2 web app deployment but i sweared I
couldn't find any notable difference between my initial problematic deployment
(I created
all the web directories from scratch) and the
current working one. And i didnt quite dig further to find out what went wrong
coz i need to make up
in development time which i lost during the 3 days
i had to deal with the woe.
In short, try from struts-exampple and u may solve
it too.
Also need to say thanks to all who replied to my
posting on the issue earlier
Good luck and regards
- Original Message -
From:
Craig R. McClanahan
To: [EMAIL PROTECTED]
Sent: Saturday, January 13, 2001 1:25
AM
Subject: Re: InDigestion
Richard Leibbrandt wrote:
I'm trying to use the ActionServlet, running
on Orion Server. I'm using
the following in web.xml:
action
org.apache.struts.action.ActionServlet
detail
2
config
/WEB-INF/struts-config.xml
validate
true
2
action
/*.do
I've
defined a root /OtherWorld where my app resides, and have a class
TryAction.class on the path. Then I have the following in of
struts-config.xml:
Then when I call localhost/OtherWorld, to take me
to the HTML home page, the page displays
successfully. However,
when I call localhost/OtherWorld/try.do, the Digester chokes. I
getjava.net.MalformedURLException: unknown protocol:
jndi What happens is that
the Digester tries to map the name of the DTD file for struts to the local
struts-config_1_0.dtd file. The exception gets thrown when the Digester's
resolveEntity() method tries to construct a new URL from the
string'jndi://C_/OtherWorld/OtherWorld-web/WEB-INF/lib/struts.jar/org/apache/struts/resources/struts-config_1_0.dtd'. The strange thing is, that when I did the initial
call to localhost/OtherWorld, the trace shows that the Digester got past
exactly the same line and successfully did the resolveEntity on the exact
same string, without any exceptions. Why does it crash when it tries to do it a second
time??
The first thing to note is that "/*.do" is not a valid URL pattern --
try "*.do" instead.
Also, the Digester module is only used at initialization time, so it should
not be involved at all on a request (unless you did not set
to force the controller servlet to be loaded ahead of
the first request).
I've heard reports that the classloader in Orion has problems getting
resources out of JAR files under WEB-INF/lib. Try unJARing the
"struts.jar" file under WEB-INF/classes to see if that helps.
Craig McClanahan