[23/Mar/2006:04:07:29] failure (11038): WEB4220: The web application [/mywebapp] is unavailable because of errors during startup. Please check the logs for errors
The first thing I did was to check the actual log (<webserver_root>/<server_instance>/logs/errors) file for a more detailed error message, and found the one that I'm looking for:
[23/Mar/2006:04:07:26] info (10896): WEB0100: Loading web module in virtual server [https-v490s001] at [/mywebapp]It clearly says that the problem is with the
[23/Mar/2006:04:07:26] info (10896): WEB0100: Loading web module in virtual server [https-v490s001] at [/search]
[23/Mar/2006:04:07:28] info (10896): CORE3282: stdout: PARSE error at line 27 column -1
[23/Mar/2006:04:07:28] info (10896): CORE3282: stdout: org.xml.sax.SAXParseException: Element "web-app" does not allow
"mime-mapping" here.
[23/Mar/2006:04:07:28] failure (10896): ContextConfig[/mywebapp] WEB3524: Parse error in application web.xml
mime-mapping
tag in mywebapp's web.xml
file. The last few lines of web.xml
are like this:...The real problem is the actual order of
...
<welcome-file-list>
<welcome-file>default.jsp
</welcome-file-list>
<mime-mapping>
<extension>xsd
<mime-type>text/xml
</mime-mapping>
</web-app>
welcome-file-list
and mime-mapping
tags in web.xml
. mime-mapping
tag should appear before welcome-file-list
in web.xml
file. So, swapping welcome-file-list
and mime-mapping
tags fixed the issue, and the web application is accessible through a web browser, now.The key is finding the real order of all tags that we define in
web.xml
. All web.xml
files should conform to the XML DTD for a Servlet web-app (war) module, in order for the web server to load the application, properly. The last known published DTD is available in Sun Microsystem's web site at: XML DTD for a Servlet 2.3 web-app (war) module. Apparently the following piece {in DTD} helped me resolving the issue:<!--Technorati Tags:
The web-app element is the root of the deployment descriptor for
a web application.
-->
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, filter*, filter-mapping*, listener*, servlet*,
servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
login-config?, security-role*, env-entry*, ejb-ref*, ejb-local-ref*)>
Sun | Web Server
Hi
ReplyDeleteIn my application I am following the same sequence in web.xml. i am able to run that application on client server but when I am trying to deploy it in sun one it throws me the following error:
[18/Feb/2009:09:24:44] failure ( 3252): ContextConfig[] WEB3524: Parse error in application web.xml
org.xml.sax.SAXParseException: Element "web-app" does not allow "resource-ref" here.
Please can you help me why this is coming? Can there be any other reason for this?
Thank you very much!! You just saved my life. I was going around this problem for the last 24 hours and I didn't know what else to do!. Thanks for ever man!.
ReplyDelete