[ 
https://issues.apache.org/jira/browse/TOMEE-410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vishwanath resolved TOMEE-410.
------------------------------

    Resolution: Fixed

Changes committed now at r1382501
 http://svn.apache.org/viewvc?rev=1382501&view=rev

Stacktrace observed in test

org.jboss.arquillian.container.spi.client.container.DeploymentException: Unable 
to deploy
        at 
org.apache.openejb.arquillian.embedded.EmbeddedTomEEContainer.deploy(EmbeddedTomEEContainer.java:130)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at 
org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at 
org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at 
org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)
        at 
org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at 
org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at 
org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at 
org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at 
org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at 
org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)
        at 
org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:76)
        at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
        at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.openejb.OpenEJBException: Cannot unmarshall the web.xml 
file: 
file:/tmp/tomee6497134813103609741.conf/test-loadonStartup/WEB-INF/web.xml: 
java.lang.NumberFormatException: For input string: " 1 "
        at 
org.apache.openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:718)
        at 
org.apache.openejb.config.DeploymentLoader.createWebModule(DeploymentLoader.java:745)
        at 
org.apache.openejb.config.DeploymentLoader.createWebModule(DeploymentLoader.java:627)
        at 
org.apache.openejb.config.DeploymentLoader.load(DeploymentLoader.java:185)
        at 
org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:693)
        at org.apache.tomee.embedded.Container.deploy(Container.java:252)
        at org.apache.tomee.embedded.Container.deploy(Container.java:248)
        at 
org.apache.openejb.arquillian.embedded.EmbeddedTomEEContainer.deploy(EmbeddedTomEEContainer.java:118)
        ... 90 more
Caused by: javax.xml.bind.UnmarshalException: java.lang.NumberFormatException: 
For input string: " 1 "
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.lang.NumberFormatException: For 
input string: " 1 "]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:258)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:245)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:67)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:514)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.processText(SAXConnector.java:181)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.endElement(SAXConnector.java:154)
        at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:546)
        at 
org.apache.openejb.jee.JaxbJavaee$JavaeeNamespaceFilter.endElement(JaxbJavaee.java:289)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:333)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:196)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:247)
        at 
org.apache.openejb.jee.JaxbJavaee.unmarshalJavaee(JaxbJavaee.java:132)
        at 
org.apache.openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:714)
        ... 97 more
Caused by: com.sun.xml.bind.api.AccessorException: 
java.lang.NumberFormatException: For input string: " 1 "
        at 
com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:87)
        at 
com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:247)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:65)
        ... 119 more
Caused by: java.lang.NumberFormatException: For input string: " 1 "
        at 
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
        at java.lang.Integer.valueOf(Integer.java:554)
        at 
org.apache.openejb.jee.LoadOnStartupAdapter.unmarshal(LoadOnStartupAdapter.java:37)
        at 
org.apache.openejb.jee.LoadOnStartupAdapter.unmarshal(LoadOnStartupAdapter.java:28)
        at 
com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:85)
        ... 121 more
                
> web.xml validation rejects load-on-startup values having extraneous white 
> spaces
> --------------------------------------------------------------------------------
>
>                 Key: TOMEE-410
>                 URL: https://issues.apache.org/jira/browse/TOMEE-410
>             Project: TomEE
>          Issue Type: Bug
>          Components: Compliance Checks
>    Affects Versions: 1.0.0
>         Environment: Tested on Windows 2008 R2 SP1 with ORACLE Java 7 Update 
> 7 64-bit Windows version
>            Reporter: Alex the Rocker
>
> The web.xml validation of TomEE/TomEE+ doesn't behaves like Tomcat 7.0.27's 
> when there is a white space in the load-on-startup value of a servlet 
> declaration, like this one:
>       <load-on-startup> 1 </load-on-startup>
> In this case, the web application is not registered by TomEE+, and have this 
> stack trace in catalina.out:
> Caused by: org.apache.tomee.catalina.TomEERuntimeException: 
> org.apache.openejb.OpenEJBException: Cannot unmarshall the web.xml file: 
> file:/app/apache-tomee-webprofile-1.0.0/webapps/myApp/WEB-INF/web.xml: 
> java.lang.NumberFormatException: For input string: " 1 "
>         at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:1112)
>         at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:627)
>         at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:588)
>         at 
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:117)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
>         at 
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> Please note that the problem was reproduced with Apache TomEE+ 1.0.0 on 
> Windows with 64-bit JDK 7 update 7 on Windows 2008 R2 SP1.
> Please also note that the web application was based on Servlet 2.5 level of 
> compliance.
> Using the same operating system & JDK version, there is not such issue with 
> Tomcat 7.0.27.
> Also this issue cannot be reproduce using IBM WebSphere 8.0.0.1 or ORACLE 
> WebLogic 12x.
> I don't know what Servlet 2.5 specification says about load-on-startup 
> values, but the impact of this TomEE/TomeEE+ behaviour is that some 
> applications running on Tomcat / WebSphere / WebLogic cannot be deployed Out 
> Of The Box, which may slow down TomEE adoption.
> As such, I don't think it's a minor issue. But we never know, perhaps TomEE 
> developers will says that TomEE is strictly implementing Servlet 
> specification and other app servers don't :)
> Regards,
> Alex

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to