[ http://jira.codehaus.org/browse/WAGONHTTP-8?page=comments#action_66817 ] 

darren hartford commented on WAGONHTTP-8:
-----------------------------------------

This is where someone else needs to speak up - can the http PUT method be used 
to create directory/collections? Or can POST support something like that?

If not, required to call a WebDAV method MKCOL.  If that is the case, you can 
use this snippet to get things moving forward.  All it does is make a 
MkColMethod instead of the PutMethod for use with httpclient.

/* apache licensed, distribute at will
@author dhartford
*/

                String[] parts = resourceName.split("/");
                
                for (int i = 0; i < (parts.length - 1); i++) {
                        url = url + "/" + parts[i];
                        System.out.println(url);
                        EntityEnclosingMethod mkcol = new 
EntityEnclosingMethod(url){
                                public String getName() {
                                        // TODO Auto-generated method stub
                                        return "MKCOL";
                                }                       
                        };
                
                        
                        try {
                                client.executeMethod(mkcol);
                        } catch (HttpException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }


> wagon-http does not MKCOL for missing parent resources during deploy
> --------------------------------------------------------------------
>
>          Key: WAGONHTTP-8
>          URL: http://jira.codehaus.org/browse/WAGONHTTP-8
>      Project: wagon-http
>         Type: Bug

>     Versions: 1.0-alpha-6
>  Environment: Linux/x86_64, FC4, jdk 1.5.0_06-b05, mvn 2.0.2, against 
> Apache/2.0.54 (Fedora) DAV/2 
>     Reporter: Matthew Daniel
>     Priority: Blocker

>
>
> Please see MNG-1580 and 
> When trying to deploy using wagon-http, it does not understand the concept of 
> parent directories and just issues a blind PUT with the resource URI. Further 
> to the user's confusion, it does not report a helpful message but "Access 
> denided" which is 100% not true.
> {quote}
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Error deploying 
> artifact        at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:556)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
>         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:585)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)        
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Error deploying 
> artifact
>         at 
> org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:160)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:531)
>         ... 16 more
> Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: 
> Error deploying artifact: Authorization failed: Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:91)
>         at 
> org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:148)
>         ... 18 more
> Caused by: org.apache.maven.wagon.TransferFailedException: Authorization 
> failed: Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:215)
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:109)
>         at 
> org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:77)
>         ... 19 more
> Caused by: org.apache.maven.wagon.authorization.AuthorizationException: 
> Access denided to: 
> http://servername/path/to/a/non-existant/1.5-SNAPSHOT/artifactid-1.5-20060209.202937-1.jar
>         at 
> org.apache.maven.wagon.providers.http.HttpWagon.put(HttpWagon.java:202)
>         at 
> org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:180)
>         ... 21 more
> {quote}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to