[
https://issues.apache.org/jira/browse/CXF-2632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp updated CXF-2632:
-----------------------------
Fix Version/s: 2.2.7
> Misleading error message in cxf-codegen-plugin URISyntaxException: Illegal
> character when path contains \
> ---------------------------------------------------------------------------------------------------------
>
> Key: CXF-2632
> URL: https://issues.apache.org/jira/browse/CXF-2632
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.2.5
> Reporter: Christian Schneider
> Assignee: Daniel Kulp
> Fix For: 2.2.7
>
>
> When using the cxf-cogegen-plugin you can use \ in path to wsdls. As long as
> the file is found it works well. But when the file is not found you do not
> get an error message like file not found but something like
> "java.net.URISyntaxException: Illegal character in path at index 4:
> wsdl\HelloWorld.wsdl".
> I think this is because WsdlOption.getWsdlURI first tries to find a ffile
> with the given name. When it does not find a file it tries to resolve a url
> with the name. As long as the url is valid you get a reasonable exception. If
> it contains characters like \ you get the exception above. I think we should
> improve this. For example we could catch the IllegalArgumentException and
> throw a new exception like:
> File <path> not found and path is also no valid url.
> Together with the Illegalargumentexception this would be clearer to end users.
> Any opinions how to handle this?
> java.lang.IllegalArgumentException
> at java.net.URI.create(URI.java:842)
> at java.net.URI.resolve(URI.java:1028)
> at org.apache.cxf.maven_plugin.WsdlOption.getWsdlURI(WsdlOption.java:86)
> at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.callWsdl2Java(WSDL2JavaMojo.java:391)
> at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:359)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
> at
> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
> at
> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
> at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
> at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
> at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
> Caused by: java.net.URISyntaxException: Illegal character in path at index 4:
> fsrc\mHelloWor
> 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)
> ... 26 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.