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 <my-destinated-orion-j2ee-app-dir>/web/ and modify the struts-config.xml and web.xml to suit my appl needs. I also
extracted struts-config_1_0.xml into <my-destinated-orion-j2ee-app-dir>/web/ web-inf/classes and removed the same file from struts.jar which is in <my-destinated-orion-j2ee-app-dir>/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 -----
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:    <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
      <init-param>
        <param-name>detail</param-name>
        <param-value>2</param-value>
      </init-param>
      <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
      </init-param>
        <init-param>
       <param-name>validate</param-name>
       <param-value>true</param-value>
      </init-param>      <load-on-startup>2</load-on-startup>
    </servlet>    <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>/*.do</url-pattern>
    </servlet-mapping>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 <action-mapping> of struts-config.xml:  <action path="/try" actionClass="TryAction" >
  </action>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 <load-on-startup> 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
 
 
 

Reply via email to