Java apachejackrabbitwebdav-PUT方法。

Java apachejackrabbitwebdav-PUT方法。,java,apache,webdav,jackrabbit,Java,Apache,Webdav,Jackrabbit,开始使用Jackrabbit 2.6.3和commons httpclient 3 我已经编写了一个简单的webDav客户端,用于将文件上载到服务器,并希望根据jackrabbit的独立服务器的默认存储库对其进行测试。我只是想把一个文件放在默认存储库中 我的httpclient连接,该方法开始缓冲我的文件。问题是,我似乎无法确定我应该将http方法指向哪个URL以正确地将其放入存储库。独立服务器正在以下服务器上运行: http://localhost:8080. 对于我尝试过的所有URL,我似

开始使用Jackrabbit 2.6.3和commons httpclient 3

我已经编写了一个简单的webDav客户端,用于将文件上载到服务器,并希望根据jackrabbit的独立服务器的默认存储库对其进行测试。我只是想把一个文件放在默认存储库中

我的httpclient连接,该方法开始缓冲我的文件。问题是,我似乎无法确定我应该将http方法指向哪个URL以正确地将其放入存储库。独立服务器正在以下服务器上运行:

http://localhost:8080.
对于我尝试过的所有URL,我似乎要么得到不支持的405 PUT,要么得到404或403,或者更奇怪的“repository'/'不是以'/default'开头。如果我将浏览器指向:

http://localhost:8080/repository/default/ 
简单地说,我的问题是,用PutMethod做这件事的url是什么?听起来很简单

我已经为我编写的类包括了一些截断代码,特别是我目前正在使用的方法,我认为这应该足以证明我的方法是正确的

public void insertFile(byte[] content, String id) throws Exception {
    PutMethod httpMethod = new PutMethod("http://localhost:8080/repository/default/");
    InputStream is = new ByteArrayInputStream(content);
    FileMetaData meta = new FileMetaData();
    meta.address = destUri;
    meta.id = id;
    meta.mimeType = Files.probeContentType(Paths.get(meta.address));
    RequestEntity requestEntity = new InputStreamRequestEntity(is, meta.mimeType);
    httpMethod.setRequestEntity(requestEntity);
    try {
        int statusCode = client.executeMethod(httpMethod);
        if (statusCode != HttpStatus.SC_OK) System.err.println("Method failed: " + httpMethod.getStatusLine());
        byte[] responseBody = httpMethod.getResponseBody();
        System.out.println(new String(responseBody));
    } catch (HttpException e) {
        System.err.println("Fatal protocol violation: " + e.getMessage());
        e.printStackTrace();
    } catch (IOException e) {
        System.err.println("Fatal transport error: " + e.getMessage());
        e.printStackTrace();
    } finally {
        httpMethod.releaseConnection();
    }

}

我相信这是一个简单的答案,但是浏览文档似乎没有显示任何与此相关的资源或教程。任何帮助都非常感谢。

非常愚蠢,完全认为请求实体会发送一些文件数据并将其用作文件名,而我必须自己指定。PROTIP:离开计算机5-10分钟分钟。对于其他有我问题的人,应该是“yourUrl/repository/default”+fileName。简单