[ https://issues.apache.org/jira/browse/WAGON-461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15421645#comment-15421645 ]
Mike Summers edited comment on WAGON-461 at 8/15/16 9:42 PM: ------------------------------------------------------------- I apologize, I misunderstood your earlier question. The webdav string comes from a pom: {code:xml} <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>upload-assembly</id> <phase>install</phase> <goals> <goal>upload-single</goal> </goals> <configuration> <serverId>sharefile-ftp</serverId> <fromFile>${project.build.directory}/${project.build.finalName}.jar</fromFile> <!-- <url>ftp://snafu.sharefileftp.com/FIT - Expert Services/IBM/</url> --> <url>dav:https://snafu.sharefile-webdav.com/Shared Folders/Fit - Expert Services/IBM</url> </configuration> </execution> </executions> </plugin> {code} It _is_ a valid webdav URI, it is simply not encoded properly by wagon-webdav. Adding the one line of code to encode the URI fixes the problem. Hand encoding the URI in the POM does not fix the problem. Using wagon-ftp rather than wagon-webdav also works {code:xml} <url>ftp://snafu.sharefileftp.com/FIT - Expert Services/IBM/</url> {code} which seems to indicate the the encoding is not a plugin function. _Is_ it the plugins job to encode the URI? was (Author: msummers): We seem to be having a communication problem. The webdav string comes from a pom: {code:xml} <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>upload-assembly</id> <phase>install</phase> <goals> <goal>upload-single</goal> </goals> <configuration> <serverId>sharefile-ftp</serverId> <fromFile>${project.build.directory}/${project.build.finalName}.jar</fromFile> <!-- <url>ftp://snafu.sharefileftp.com/FIT - Expert Services/IBM/</url> --> <url>dav:https://snafu.sharefile-webdav.com/Shared Folders/Fit - Expert Services/IBM</url> </configuration> </execution> </executions> </plugin> {code} It _is_ a valid webdav URI, it is simply not encoded properly by wagon-webdav. Adding the one line of code to encode the URI fixes the problem. Hand encoding the URI in the POM does not fix the problem. Using wagon-ftp rather than wagon-webdav also works {code:xml} <url>ftp://snafu.sharefileftp.com/FIT - Expert Services/IBM/</url> {code} which seems to indicate the the encoding is not a plugin function. _Is_ it the plugins job to encode the URI? > URL string not properly encoded by webdav > ----------------------------------------- > > Key: WAGON-461 > URL: https://issues.apache.org/jira/browse/WAGON-461 > Project: Maven Wagon > Issue Type: Bug > Components: wagon-webdav > Affects Versions: 2.10 > Environment: All > Reporter: Mike Summers > > wagon-webdav is not calling EncodingUtil prior to instantiating MkColMethod > which results in > {code:java} > Caused by: java.lang.IllegalArgumentException: Invalid uri > 'https://snafu.sharefile-webdav.com/Shared Folders/Fit - Expert > Services/IBM/': escaped absolute path not valid > {code} > when there are special characters in the URI string. > Changing line 153 of org.apache.maven.wagon.providers.webdav.WebDavWagon from > {code:java} > method = new MkColMethod( url ); > {code} > to > {code:java} > method = new MkColMethod( EncodingUtil.encodeURLToString( url ) ); > {code} > solves the issue although you may want to fix it elsewhere in the flow. -- This message was sent by Atlassian JIRA (v6.3.4#6332)