Re: Missing struts-config_1_0.dtd when not logged on

2001-02-23 Thread DONNIE HALE

Craig,

I don't know if this is applicable or not, but if I set the new "validating" servlet 
parm to "false", I'll still get parse errors if the  tag is in the .xml 
file. I get around this by deleting that tag from the .xml file. With both of these 
elements in place, I don't get any errors during parsing.

FWIW...

Donnie


>>> [EMAIL PROTECTED] 02/23/01 01:07PM >>>
Michael McCallister wrote:

> Struts may include a local copy of the web.xml DTD file, in the case of the
> non-validating parse of web.xml, nothing causes it to be used instead of
> the external system identifier.  ActionServlet.initServlet() creates a new
> Digester, never calls register(), and then calls parse().  We probably need
> some code like this snippet, found in ActionServlet.initDigester():
>
> > // Register our local copy of the DTDs that we can find
> > for (int i = 0; i < registrations.length; i += 2) {
> > URL url = this.getClass().getResource(registrations[i+1]);
> > if (url != null)
> > digester.register(registrations[i], url.toString());
> > }
>
> It doesn't make intuitive sense (to me), it looks like SAXParser.parse()
> insists on being able to access the DTDs even when it is in non-validating
> mode.
>
> To confirm this, I bumped up the detail level of ActionServlet and now,
> right before the Parse Fatal Error exception, I get the following logged to
> System.out:
>
> >resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN',
> >'http://
> >java.sun.com/j2ee/dtds/web-app_2_2.dtd')
> >  Not registered, use system identifier
>
> This seems to be the root cause of the bug I filed last night: PR 683.  Of
> course, the bug report only described the symptoms (and poorly at
> that).  Should I file a new bug report with this analysis?
>

Thanks Mike, but it nailed me to (as soon as I tried to run a Struts app on my
disconnected laptop :-), so I know the details now.  I am going to fix this by
including local copies of the relevant web.xml DTDs (for both 2.2 and 2.3) in
the struts.jar file.

>
> Mike
>

Craig






Re: Missing struts-config_1_0.dtd when not logged on

2001-02-23 Thread Craig R. McClanahan

Michael McCallister wrote:

> Struts may include a local copy of the web.xml DTD file, in the case of the
> non-validating parse of web.xml, nothing causes it to be used instead of
> the external system identifier.  ActionServlet.initServlet() creates a new
> Digester, never calls register(), and then calls parse().  We probably need
> some code like this snippet, found in ActionServlet.initDigester():
>
> > // Register our local copy of the DTDs that we can find
> > for (int i = 0; i < registrations.length; i += 2) {
> > URL url = this.getClass().getResource(registrations[i+1]);
> > if (url != null)
> > digester.register(registrations[i], url.toString());
> > }
>
> It doesn't make intuitive sense (to me), it looks like SAXParser.parse()
> insists on being able to access the DTDs even when it is in non-validating
> mode.
>
> To confirm this, I bumped up the detail level of ActionServlet and now,
> right before the Parse Fatal Error exception, I get the following logged to
> System.out:
>
> >resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN',
> >'http://
> >java.sun.com/j2ee/dtds/web-app_2_2.dtd')
> >  Not registered, use system identifier
>
> This seems to be the root cause of the bug I filed last night: PR 683.  Of
> course, the bug report only described the symptoms (and poorly at
> that).  Should I file a new bug report with this analysis?
>

Thanks Mike, but it nailed me to (as soon as I tried to run a Struts app on my
disconnected laptop :-), so I know the details now.  I am going to fix this by
including local copies of the relevant web.xml DTDs (for both 2.2 and 2.3) in
the struts.jar file.

>
> Mike
>

Craig





Re: Missing struts-config_1_0.dtd when not logged on

2001-02-23 Thread Michael McCallister

Struts may include a local copy of the web.xml DTD file, in the case of the 
non-validating parse of web.xml, nothing causes it to be used instead of 
the external system identifier.  ActionServlet.initServlet() creates a new 
Digester, never calls register(), and then calls parse().  We probably need 
some code like this snippet, found in ActionServlet.initDigester():

> // Register our local copy of the DTDs that we can find
> for (int i = 0; i < registrations.length; i += 2) {
> URL url = this.getClass().getResource(registrations[i+1]);
> if (url != null)
> digester.register(registrations[i], url.toString());
> }

It doesn't make intuitive sense (to me), it looks like SAXParser.parse() 
insists on being able to access the DTDs even when it is in non-validating 
mode.

To confirm this, I bumped up the detail level of ActionServlet and now, 
right before the Parse Fatal Error exception, I get the following logged to 
System.out:

>resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN', 
>'http://
>java.sun.com/j2ee/dtds/web-app_2_2.dtd')
>  Not registered, use system identifier

This seems to be the root cause of the bug I filed last night: PR 683.  Of 
course, the bug report only described the symptoms (and poorly at 
that).  Should I file a new bug report with this analysis?


Mike


At 11:58 AM 2/21/2001, you wrote:
>DONNIE HALE wrote:
>
> > Tom,
> >
> > First, the web.xml file isn't parsed by the ActionServlet; it's parsed 
> by the servlet engine when it's initializing a web application (web.xml 
> is part of the standard for defining the properties/characteristics of a 
> "web application"). It should be completely parsed and accepted as 
> correct by the time ActionServlet.init() is called, during which the 
> struts-config.xml file is parsed.
> >
>
>Actually, a recent change to ActionServlet means that it *does* do a 
>non-validating parse of web.xml as well (to figure out what 
> it is invoked under).  This is necessary to make correct 
>recognition of the action attribute in  work on path-mapped 
>servlets.
>
>Struts includes a local copy of the struts-config DTD file, and Tomcat 
>3.2.1 includes a local copy of the web.xml DTD file -- which should both 
>be used when you specify a public identifier that matches (as it appears 
>you are doing).  Have you by any chance changed the parser that came with 
>Tomcat (jaxp.jar and parser.jar), or tried to put a parser in your 
>WEB-INF/lib directory?
>
>Craig




Re: Missing struts-config_1_0.dtd when not logged on

2001-02-22 Thread Maya Muchnik

Tom,

Tomcat includes a local copy of web_app_2_2.dtd file, but the file name is web.dtd. 
Maybe this is your problem. In my application I am going to replace a reference to Sun 
site of web_app_2_2.dtd to a local copy of web.dtd (I will copy it to the WEB-INF/dtds 
directory).
Maya

Tom Miller wrote:

> "Craig R. McClanahan" wrote:
>
> > DONNIE HALE wrote:
> >
> > > Tom,
> > >
> > > First, the web.xml file isn't parsed by the ActionServlet; it's parsed by the 
>servlet engine when it's initializing a web application (web.xml is part of the 
>standard for defining the properties/characteristics of a "web application"). It 
>should be completely parsed and accepted as correct by the time ActionServlet.init() 
>is called, during which the struts-config.xml file is parsed.
> > >
> >
> > Actually, a recent change to ActionServlet means that it *does* do a 
>non-validating parse of web.xml as well (to figure out what  it is 
>invoked under).  This is necessary to make correct recognition of the action 
>attribute in  work on path-mapped servlets.
> >
> > Struts includes a local copy of the struts-config DTD file, and Tomcat 3.2.1 
>includes a local copy of the web.xml DTD file -- which should both be used when you 
>specify a public identifier that matches (as it appears you are doing).  Have you by 
>any chance changed the parser that came with Tomcat (jaxp.jar and parser.jar), or 
>tried to put a parser in your WEB-INF/lib directory?
> >
> > Craig
>
> Re: jaxp.jar and parser.jar, I have been all over the map trying to get my Visual 
>Age for Java environment working with Struts again. But I started clean with fresh 
>installations of Tomcat 3.2.1 and Struts build of Feb. 20, no edits and running 
>totally independent of VAJ. I drop the struts-example into webapps and start up, not 
>logged onto the Internet.
>
> I can see in the debug trace that the struts_config_1_0.dtd resolving to the local 
>copy as you explained. But when it comes time for web_app_2_2.dtd, the SAXParser 
>throws a fatal error. After that, I can access the index.jsp of the example, but 
>login with "user" and "pass" yields an HTTP 404. If I enter registration info and 
>attempt to submit it, again HTTP 404.
>
> When I restart after loggin on to the Internet, the example application works as 
>expected. Do you think something is broken?
> --
> Tom Miller
> Miller Associates, Inc.
> [EMAIL PROTECTED]
> 641.469.3535 Phone
> 413.581.6326 FAX




Re: Missing struts-config_1_0.dtd when not logged on

2001-02-22 Thread Tom Miller

"Craig R. McClanahan" wrote:

> DONNIE HALE wrote:
>
> > Tom,
> >
> > First, the web.xml file isn't parsed by the ActionServlet; it's parsed by the 
>servlet engine when it's initializing a web application (web.xml is part of the 
>standard for defining the properties/characteristics of a "web application"). It 
>should be completely parsed and accepted as correct by the time ActionServlet.init() 
>is called, during which the struts-config.xml file is parsed.
> >
>
> Actually, a recent change to ActionServlet means that it *does* do a non-validating 
>parse of web.xml as well (to figure out what  it is invoked under).  
>This is necessary to make correct recognition of the action attribute in  
>work on path-mapped servlets.
>
> Struts includes a local copy of the struts-config DTD file, and Tomcat 3.2.1 
>includes a local copy of the web.xml DTD file -- which should both be used when you 
>specify a public identifier that matches (as it appears you are doing).  Have you by 
>any chance changed the parser that came with Tomcat (jaxp.jar and parser.jar), or 
>tried to put a parser in your WEB-INF/lib directory?
>
> Craig

Re: jaxp.jar and parser.jar, I have been all over the map trying to get my Visual Age 
for Java environment working with Struts again. But I started clean with fresh 
installations of Tomcat 3.2.1 and Struts build of Feb. 20, no edits and running 
totally independent of VAJ. I drop the struts-example into webapps and start up, not 
logged onto the Internet.

I can see in the debug trace that the struts_config_1_0.dtd resolving to the local 
copy as you explained. But when it comes time for web_app_2_2.dtd, the SAXParser 
throws a fatal error. After that, I can access the index.jsp of the example, but login 
with "user" and "pass" yields an HTTP 404. If I enter registration info and attempt to 
submit it, again HTTP 404.

When I restart after loggin on to the Internet, the example application works as 
expected. Do you think something is broken?
--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED]
641.469.3535 Phone
413.581.6326 FAX





Re: Missing struts-config_1_0.dtd when not logged on

2001-02-22 Thread DONNIE HALE

What servlet engine are you using?

-Donnie

>>> [EMAIL PROTECTED] 02/21/01 09:19AM >>>
Presumeably some kind of configuration error. Any ideas how to correct
this?

I'm using the Feb 20 build. During startup when SAXParserImpl trys to
execute for the struts-example, if I'm logged on to the Internet, I get:

resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')

 Not registered, use system identifier

If I am logged on, I get:

resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')

 Not registered, use system identifier
Parse Fatal Error at line 5 column -1: External entity not found:
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
org.xml.sax.SAXParseException: External entity not found:
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
 java.lang.Throwable(java.lang.String)
 java.lang.Exception(java.lang.String)
 org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
 org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator,
java.lang.Exception)
 void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object
[], java.lang.Exception)
 void
com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)

 boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
 void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
 void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
 void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource,
org.xml.sax.HandlerBase)
 void javax.xml.parsers.SAXParser.parse(java.io.InputStream,
org.xml.sax.HandlerBase)
 java.lang.Object
org.apache.struts.digester.Digester.parse(java.io.InputStream)
 void org.apache.struts.action.ActionServlet.initMapping()
 void org.apache.struts.action.ActionServlet.init()
 void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
 void org.apache.tomcat.core.ServletWrapper.doInit()
 void org.apache.tomcat.core.Handler.init()
 void org.apache.tomcat.core.ServletWrapper.init()
 void
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)

 void
org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)

 void org.apache.tomcat.core.ContextManager.init()
 void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
 void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object [])
 void TomcatStart.start(java.lang.String [], java.lang.String)
 void TomcatStart.main(java.lang.String [])

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED] 
641.469.3535 Phone
413.581.6326 FAX






Re: Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread Tom Miller

Tomcat 3.2.1

DONNIE HALE wrote:

> What servlet engine are you using?
>
> -Donnie
>
> >>> [EMAIL PROTECTED] 02/21/01 09:19AM >>>
> Presumeably some kind of configuration error. Any ideas how to correct
> this?
>
> I'm using the Feb 20 build. During startup when SAXParserImpl trys to
> execute for the struts-example, if I'm logged on to the Internet, I get:
>
> resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
> 1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
>
>  Not registered, use system identifier
>
> If I am logged on, I get:
>
> resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
> 1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
>
>  Not registered, use system identifier
> Parse Fatal Error at line 5 column -1: External entity not found:
> "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
> org.xml.sax.SAXParseException: External entity not found:
> "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
>  java.lang.Throwable(java.lang.String)
>  java.lang.Exception(java.lang.String)
>  org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
>  org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator,
> java.lang.Exception)
>  void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object
> [], java.lang.Exception)
>  void
> com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)
>
>  boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
>  void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
>  void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
>  void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource,
> org.xml.sax.HandlerBase)
>  void javax.xml.parsers.SAXParser.parse(java.io.InputStream,
> org.xml.sax.HandlerBase)
>  java.lang.Object
> org.apache.struts.digester.Digester.parse(java.io.InputStream)
>  void org.apache.struts.action.ActionServlet.initMapping()
>  void org.apache.struts.action.ActionServlet.init()
>  void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
>  void org.apache.tomcat.core.ServletWrapper.doInit()
>  void org.apache.tomcat.core.Handler.init()
>  void org.apache.tomcat.core.ServletWrapper.init()
>  void
> 
>org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)
>
>  void
> org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)
>
>  void org.apache.tomcat.core.ContextManager.init()
>  void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
>  void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
>  java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object,
> java.lang.Object [])
>  void TomcatStart.start(java.lang.String [], java.lang.String)
>  void TomcatStart.main(java.lang.String [])
>
> --
> Tom Miller
> Miller Associates, Inc.
> [EMAIL PROTECTED]
> 641.469.3535 Phone
> 413.581.6326 FAX

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED]
641.469.3535 Phone
413.581.6326 FAX





Re: Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread Tom Miller

Thanks Donnie, that worked just fine.

But once past struts_config.xml, and the ActionServlet attempts to parse the web app 
deployment descriptor (i.e. WEB-INF/web.xml) I get the following. And hints here? I 
looked for but could not find a similar place to turn off validating as with 
struts_config.xml. I wonder what the chances are that this would have been fixed in 
the last night's version. I suppose if this is a bug, it is just now surfacing.

resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN', 
'http://java.sun.com/j2ee/dtds/web-app_2_2.dtd')
 Not registered, use system identifier
Parse Fatal Error at line 5 column -1: External entity not found: 
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd".
org.xml.sax.SAXParseException: External entity not found: 
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd".
 java.lang.Throwable(java.lang.String)
 java.lang.Exception(java.lang.String)
 org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
 org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator, 
java.lang.Exception)
 void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object [], 
java.lang.Exception)
 void 
com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)
 boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
 void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
 void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
 void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource, 
org.xml.sax.HandlerBase)
 void javax.xml.parsers.SAXParser.parse(java.io.InputStream, org.xml.sax.HandlerBase)
 java.lang.Object org.apache.struts.digester.Digester.parse(java.io.InputStream)
 void org.apache.struts.action.ActionServlet.initServlet()
 void org.apache.struts.action.ActionServlet.init()
 void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
 void org.apache.tomcat.core.ServletWrapper.doInit()
 void org.apache.tomcat.core.Handler.init()
 void org.apache.tomcat.core.ServletWrapper.init()
 void 
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)
 void org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)
 void org.apache.tomcat.core.ContextManager.init()
 void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
 void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object 
[])
 void TomcatStart.start(java.lang.String [], java.lang.String)
 void TomcatStart.main(java.lang.String [])

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED]
641.469.3535 Phone
413.581.6326 FAX





Re: Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread DONNIE HALE

Well I'm sure this should work under Tomcat 3.2.1 (unless something in the Feb 20 
build broke things). I've had this issue under other servlet engines, and a slight 
enhancement was made to Struts last week as a workaround. In the web.xml, add a 
parameter to the Action servlet with the name "validating" and the value "false"; and 
remove the  tag from the struts-config.xml file. This will prevent DTD 
validation from being done when the struts-config.xml file is being parse.

In the case of Tomcat 3.2.1, though, I'd only use this temporarily as a workaround. I 
know this has and is supposed to work on that platform.

-Donnie


>>> [EMAIL PROTECTED] 02/21/01 11:02AM >>>
Tomcat 3.2.1

DONNIE HALE wrote:

> What servlet engine are you using?
>
> -Donnie
>
> >>> [EMAIL PROTECTED] 02/21/01 09:19AM >>>
> Presumeably some kind of configuration error. Any ideas how to correct
> this?
>
> I'm using the Feb 20 build. During startup when SAXParserImpl trys to
> execute for the struts-example, if I'm logged on to the Internet, I get:
>
> resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
> 1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
>
>  Not registered, use system identifier
>
> If I am logged on, I get:
>
> resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
> 1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
>
>  Not registered, use system identifier
> Parse Fatal Error at line 5 column -1: External entity not found:
> "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
> org.xml.sax.SAXParseException: External entity not found:
> "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
>  java.lang.Throwable(java.lang.String)
>  java.lang.Exception(java.lang.String)
>  org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
>  org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator,
> java.lang.Exception)
>  void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object
> [], java.lang.Exception)
>  void
> com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)
>
>  boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
>  void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
>  void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
>  void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource,
> org.xml.sax.HandlerBase)
>  void javax.xml.parsers.SAXParser.parse(java.io.InputStream,
> org.xml.sax.HandlerBase)
>  java.lang.Object
> org.apache.struts.digester.Digester.parse(java.io.InputStream)
>  void org.apache.struts.action.ActionServlet.initMapping()
>  void org.apache.struts.action.ActionServlet.init()
>  void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
>  void org.apache.tomcat.core.ServletWrapper.doInit()
>  void org.apache.tomcat.core.Handler.init()
>  void org.apache.tomcat.core.ServletWrapper.init()
>  void
> 
>org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)
>
>  void
> org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)
>
>  void org.apache.tomcat.core.ContextManager.init()
>  void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
>  void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
>  java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object,
> java.lang.Object [])
>  void TomcatStart.start(java.lang.String [], java.lang.String)
>  void TomcatStart.main(java.lang.String [])
>
> --
> Tom Miller
> Miller Associates, Inc.
> [EMAIL PROTECTED] 
> 641.469.3535 Phone
> 413.581.6326 FAX

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED] 
641.469.3535 Phone
413.581.6326 FAX






Re: Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread DONNIE HALE

Tom,

First, the web.xml file isn't parsed by the ActionServlet; it's parsed by the servlet 
engine when it's initializing a web application (web.xml is part of the standard for 
defining the properties/characteristics of a "web application"). It should be 
completely parsed and accepted as correct by the time ActionServlet.init() is called, 
during which the struts-config.xml file is parsed.

Second, I'm now at a loss as to what's causing your problem. It seems as though it's 
more systemic and the earlier workaround just addressed a symptom. I think this is 
going to have to wait for one of the "big guns" to help you. Sorry...

Donnie


>>> [EMAIL PROTECTED] 02/21/01 12:32PM >>>
Thanks Donnie, that worked just fine.

But once past struts_config.xml, and the ActionServlet attempts to parse the web app 
deployment descriptor (i.e. WEB-INF/web.xml) I get the following. And hints here? I 
looked for but could not find a similar place to turn off validating as with 
struts_config.xml. I wonder what the chances are that this would have been fixed in 
the last night's version. I suppose if this is a bug, it is just now surfacing.

resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN', 
'http://java.sun.com/j2ee/dtds/web-app_2_2.dtd')
 Not registered, use system identifier
Parse Fatal Error at line 5 column -1: External entity not found: 
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd".
org.xml.sax.SAXParseException: External entity not found: 
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd".
 java.lang.Throwable(java.lang.String)
 java.lang.Exception(java.lang.String)
 org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
 org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator, 
java.lang.Exception)
 void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object [], 
java.lang.Exception)
 void 
com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)
 boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
 void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
 void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
 void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource, 
org.xml.sax.HandlerBase)
 void javax.xml.parsers.SAXParser.parse(java.io.InputStream, org.xml.sax.HandlerBase)
 java.lang.Object org.apache.struts.digester.Digester.parse(java.io.InputStream)
 void org.apache.struts.action.ActionServlet.initServlet()
 void org.apache.struts.action.ActionServlet.init()
 void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
 void org.apache.tomcat.core.ServletWrapper.doInit()
 void org.apache.tomcat.core.Handler.init()
 void org.apache.tomcat.core.ServletWrapper.init()
 void 
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)
 void org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)
 void org.apache.tomcat.core.ContextManager.init()
 void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
 void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object 
[])
 void TomcatStart.start(java.lang.String [], java.lang.String)
 void TomcatStart.main(java.lang.String [])

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED] 
641.469.3535 Phone
413.581.6326 FAX






Re: Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread Craig R. McClanahan

DONNIE HALE wrote:

> Tom,
>
> First, the web.xml file isn't parsed by the ActionServlet; it's parsed by the 
>servlet engine when it's initializing a web application (web.xml is part of the 
>standard for defining the properties/characteristics of a "web application"). It 
>should be completely parsed and accepted as correct by the time ActionServlet.init() 
>is called, during which the struts-config.xml file is parsed.
>

Actually, a recent change to ActionServlet means that it *does* do a non-validating 
parse of web.xml as well (to figure out what  it is invoked under).  
This is necessary to make correct recognition of the action attribute in  
work on path-mapped servlets.

Struts includes a local copy of the struts-config DTD file, and Tomcat 3.2.1 includes 
a local copy of the web.xml DTD file -- which should both be used when you specify a 
public identifier that matches (as it appears you are doing).  Have you by any chance 
changed the parser that came with Tomcat (jaxp.jar and parser.jar), or tried to put a 
parser in your WEB-INF/lib directory?

Craig





Missing struts-config_1_0.dtd when not logged on

2001-02-21 Thread Tom Miller

Presumeably some kind of configuration error. Any ideas how to correct
this?

I'm using the Feb 20 build. During startup when SAXParserImpl trys to
execute for the struts-example, if I'm logged on to the Internet, I get:

resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')

 Not registered, use system identifier

If I am logged on, I get:

resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')

 Not registered, use system identifier
Parse Fatal Error at line 5 column -1: External entity not found:
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
org.xml.sax.SAXParseException: External entity not found:
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd".
 java.lang.Throwable(java.lang.String)
 java.lang.Exception(java.lang.String)
 org.xml.sax.SAXException(java.lang.String, java.lang.Exception)
 org.xml.sax.SAXParseException(java.lang.String, org.xml.sax.Locator,
java.lang.Exception)
 void com.sun.xml.parser.Parser.fatal(java.lang.String, java.lang.Object
[], java.lang.Exception)
 void
com.sun.xml.parser.Parser.externalParameterEntity(com.sun.xml.parser.ExternalEntity)

 boolean com.sun.xml.parser.Parser.maybeDoctypeDecl()
 void com.sun.xml.parser.Parser.parseInternal(org.xml.sax.InputSource)
 void com.sun.xml.parser.Parser.parse(org.xml.sax.InputSource)
 void javax.xml.parsers.SAXParser.parse(org.xml.sax.InputSource,
org.xml.sax.HandlerBase)
 void javax.xml.parsers.SAXParser.parse(java.io.InputStream,
org.xml.sax.HandlerBase)
 java.lang.Object
org.apache.struts.digester.Digester.parse(java.io.InputStream)
 void org.apache.struts.action.ActionServlet.initMapping()
 void org.apache.struts.action.ActionServlet.init()
 void javax.servlet.GenericServlet.init(javax.servlet.ServletConfig)
 void org.apache.tomcat.core.ServletWrapper.doInit()
 void org.apache.tomcat.core.Handler.init()
 void org.apache.tomcat.core.ServletWrapper.init()
 void
org.apache.tomcat.context.LoadOnStartupInterceptor.contextInit(org.apache.tomcat.core.Context)

 void
org.apache.tomcat.core.ContextManager.initContext(org.apache.tomcat.core.Context)

 void org.apache.tomcat.core.ContextManager.init()
 void org.apache.tomcat.startup.Tomcat.execute(java.lang.String [])
 void org.apache.tomcat.startup.Tomcat.main(java.lang.String [])
 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object [])
 void TomcatStart.start(java.lang.String [], java.lang.String)
 void TomcatStart.main(java.lang.String [])

--
Tom Miller
Miller Associates, Inc.
[EMAIL PROTECTED]
641.469.3535 Phone
413.581.6326 FAX