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

Andy Gumbrecht updated OPENEJB-1986:
------------------------------------

    Fix Version/s:     (was: 4.6.0)
                   4.7.0

> Deployment of web application with white spaces in its name fails due to 
> unencoded characters
> ---------------------------------------------------------------------------------------------
>
>                 Key: OPENEJB-1986
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1986
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: configuration, deployment
>            Reporter: Polina Genova
>            Assignee: Romain Manni-Bucau
>             Fix For: 4.5.2, 4.7.0
>
>         Attachments: Space AppTest.war
>
>
> Hi, 
> The deployment of web applications with special characters (such as white 
> spaces) in the name fails with  the following exception (tested on Tomee 
> Webprofile 1.5.1).
> To reproduce simply deploy the attached test application:
> SEVERE: Unable to deploy collapsed ear in war 
> StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Space 
> AppTest]
> java.lang.IllegalArgumentException
>       at java.net.URI.create(URI.java:842)
>       at 
> org.apache.openejb.config.AutoConfig.resolveDestinationLinks(AutoConfig.java:582)
>       at org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:183)
>       at 
> org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:338)
>       at 
> org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:827)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:974)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:901)
>       at 
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118)
>       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:5173)
>       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>       at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>       at 
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
>       at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
>       at 
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> Caused by: java.net.URISyntaxException: Illegal character in path at index 5: 
> Space AppTest
>       at java.net.URI$Parser.fail(URI.java:2809)
>       at java.net.URI$Parser.checkChars(URI.java:2982)
>       at java.net.URI$Parser.parseHierarchical(URI.java:3066)
>       at java.net.URI$Parser.parse(URI.java:3024)
>       at java.net.URI.<init>(URI.java:578)
>       at java.net.URI.create(URI.java:840)
>       ... 22 more
> The exception is due to incorrect construction of URL in 
> org.apache.openejb.config.AutoConfig class.
> To make special characters legal in this case, they need to be first encoded 
> before passing them to the URI factory method create. 
> For example:
> URI.create(URLEncoder.encode(webModule.getModuleId()));
> I’ve successfully tested this fix using the standard java.net.Encoder (as I 
> could not find any other internal encoding utility).
> Thanks and regards,
> Polina



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to