[
https://issues.jboss.org/browse/JBMETA-378?page=com.atlassian.jira.plugin...
]
Jay Kumar SenSharma commented on JBMETA-378:
--------------------------------------------
- The above fix should also help in scenarios where the <servlet-mapping> has a
valid <url-pattern> tag but has missing <servlet-name> tag. The fix sould
cause the following kind of message to appear while validating the servlet-name:
{code}
16:26:06,580 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027:
Starting deployment of "InvalidServletMappingDemo.war" (runtime-name:
"InvalidServletMappingDemo.war")
16:26:06,594 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed
to start service jboss.deployment.unit."InvalidServletMappingDemo.war".PARSE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."InvalidServletMappingDemo.war".PARSE: WFLYSRV0153: Failed
to process phase PARSE of deployment "InvalidServletMappingDemo.war"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
[wildfly-server-1.0.0.Alpha3.jar:1.0.0.Alpha3]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYUT0027:
Failed to parse XML descriptor
"/content/InvalidServletMappingDemo.war/WEB-INF/web.xml" at [16,2]
at
org.wildfly.extension.undertow.deployment.WebParsingDeploymentProcessor.deploy(WebParsingDeploymentProcessor.java:120)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
[wildfly-server-1.0.0.Alpha3.jar:1.0.0.Alpha3]
... 5 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[16,2]
Message: <servlet-name> tag is missing while defining <servlet-mapping> inside
the web.xml
at
org.jboss.metadata.parser.servlet.ServletMappingMetaDataParser.parse(ServletMappingMetaDataParser.java:85)
at
org.jboss.metadata.parser.servlet.WebCommonMetaDataParser.parse(WebCommonMetaDataParser.java:110)
at org.jboss.metadata.parser.servlet.WebMetaDataParser.parse(WebMetaDataParser.java:184)
at org.jboss.metadata.parser.servlet.WebMetaDataParser.parse(WebMetaDataParser.java:57)
at
org.wildfly.extension.undertow.deployment.WebParsingDeploymentProcessor.deploy(WebParsingDeploymentProcessor.java:93)
... 6 more
16:26:06,599 ERROR [org.jboss.as.controller.management-operation]
(DeploymentScanner-threads - 1) WFLYCTL0013: Operation ("deploy") failed -
address: ([("deployment" => "InvalidServletMappingDemo.war")]) -
failure description: {"WFLYCTL0080: Failed services" =>
{"jboss.deployment.unit.\"InvalidServletMappingDemo.war\".PARSE" =>
"org.jboss.msc.service.StartException in service
jboss.deployment.unit.\"InvalidServletMappingDemo.war\".PARSE: WFLYSRV0153:
Failed to process phase PARSE of deployment \"InvalidServletMappingDemo.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException:
WFLYUT0027: Failed to parse XML descriptor
\"/content/InvalidServletMappingDemo.war/WEB-INF/web.xml\" at [16,2]
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[16,2]
Message: <servlet-name> tag is missing while defining <servlet-mapping> inside
the web.xml"}}
{code}
Presence of <servlet-name> and <url-pattern> is not
validated for <servlet-mapping> inside the web.xml
------------------------------------------------------------------------------------------------------
Key: JBMETA-378
URL:
https://issues.jboss.org/browse/JBMETA-378
Project: JBoss Metadata
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: web
Affects Versions: 8.0.1.Final
Reporter: Jay Kumar SenSharma
Assignee: Jean-Frederic Clere
- JBoss Metadata APIs do not validate if the <servlet-mapping> tag has valid
mappings or not. This should have been handled properly.
*Example:* If following kind of web.xml based application is deployed on WildFly9 then
{code}
<?xml version="1.0"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>servlets.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<!--url-pattern></url-pattern--> <!-- NOTICE
url-pattern-tag is missing here -->
</servlet-mapping>
</web-app>
{code}
- With the above kind of web.xml a NullPointerException is encountered during
deployment.
{code}
15:50:20,207 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001:
Failed to start service
jboss.undertow.deployment.default-server.default-host./ContextParamNullDemo.UndertowDeploymentInfoService:
org.jboss.msc.service.StartException in service
jboss.undertow.deployment.default-server.default-host./ContextParamNullDemo.UndertowDeploymentInfoService:
Failed to start service
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: java.lang.NullPointerException
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.handleServletMappings(UndertowDeploymentInfoService.java:910)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:656)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.start(UndertowDeploymentInfoService.java:252)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
... 3 more
15:50:20,348 ERROR [org.jboss.as.controller.management-operation]
(DeploymentScanner-threads - 1) WFLYCTL0013: Operation ("deploy") failed -
address: ([("deployment" => "ContextParamNullDemo.war")]) - failure
description: {"WFLYCTL0080: Failed services" =>
{"jboss.undertow.deployment.default-server.default-host./ContextParamNullDemo.UndertowDeploymentInfoService"
=> "org.jboss.msc.service.StartException in service
jboss.undertow.deployment.default-server.default-host./ContextParamNullDemo.UndertowDeploymentInfoService:
Failed to start service
Caused by: java.lang.NullPointerException"}}
{code}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)