I'm getting the errors in my Struts application, on my development machine, saying apparently my config files have errors (which I already checked and seem ok):
org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 3 column 15: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 3 column 15: Document root element "struts-config", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "struts-config", must match DOCTYPE root "null".
Apparently, on development machine the application manages to run. However, on the deploy server I get the following errors, which I don't know if might be related:
org.apache.struts.action.ActionServlet handleConfigException
SEVERE: Parsing error processing resource path /WEB-INF/struts-config.xml java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
My struts-config.xml file: http://pastebin.com/i0XanZZt My web.xml file: http://pastebin.com/jMPAdSUm
What can possibly be wrong here? Some lib missing? Incorrect lib versions (using latest Struts 1 release)?
Thanks in advance!
Just went through the struggles of something very similar. Was also receiving the org.xml.sax.SAXParseException: Document is invalid: no grammar found. Original developer had setValidation(true) for the Digester and then was trying to validate using a schema. When validation is set to true it expects a DTD in the DOCTYPE declaration of the XML. So when one is not found the Exception occurs.
Solution: DO NOT set validation to true on the Digester when validating using a schema.
Below is good link that shows how to set up the Digester where it defines schema for the Digester to use. Of course if schema is defined in the xml then there is no need to define a schema for the Digester and validation will occur automatically.
Hope this helps...