Re: InDigestion
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 extractedstruts-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 - 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: servlet servlet-nameaction/servlet-name servlet-classorg.apache.struts.action.ActionServlet/servlet-class init-param param-namedetail/param-name param-value2/param-value /init-param init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param init-param param-namevalidate/param-name param-valuetrue/param-value /init-param load-on-startup2/load-on-startup /servlet servlet-mapping servlet-nameaction/servlet-name url-pattern/*.do/url-pattern /servlet-mappingI'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" /actionThen 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: jndiWhat 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
InDigestion
I'm trying to use the ActionServlet, running on Orion Server. I'm usingthe following in web.xml: servlet servlet-nameaction/servlet-name servlet-classorg.apache.struts.action.ActionServlet/servlet-class init-param param-namedetail/param-name param-value2/param-value /init-param init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param init-param param-namevalidate/param-name param-valuetrue/param-value /init-param load-on-startup2/load-on-startup /servlet servlet-mapping servlet-nameaction/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. ThenI havethe 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 get java.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??
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: jndiWhat 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