Re: InDigestion

2001-01-13 Thread Hee Meng, Poh



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       



Re: InDigestion

2001-01-12 Thread Craig R. McClanahan



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