如何使用HttpClient进行WebDav调用?

Vin*_*nie 1 java webdav httpclient jackrabbit sling

具体来说,我想打电话给MKCOL通过HttpClient通过吊索REST API创建的Apache贾卡拉比特的文件夹.

我试过变种了

BasicHttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("MKCOL", restUrl);
Run Code Online (Sandbox Code Playgroud)

但到目前为止还没有骰子.我猜这不像我做的那么困难.

我也看到有MkColMethod类似的东西

MkColMethod mkColMethod = new MkColMethod(restUrl);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何利用它.我认为它可能适用于以前版本的HttpClient.我正在使用4.x.

Ber*_*taz 5

最好是查看Sling集成测试,它使用Sling的RESTful API来创建内容.

"旧"SlingIntegrationTestClient类[1]用于测试Sling本身并使用httpclient 3.x创建内容.它被[2]中的测试所使用,所以你可以在那里找到例子.

"新的"SlingClient类[3]旨在更清晰,更简单地重新实现,由http://sling.apache.org/site/sling-testing-tools.html中描述的Sling测试工具使用..它使用的是httpclient 4.x,它的API略有不同.

SlingClient.mkdir和mkdirs方法确实使用MKCOL方法.

[1] http://svn.apache.org/repos/asf/sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java

[2] http://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests

[3] http://svn.apache.org/repos/asf/sling/trunk/testing/tools/src/main/java/org/apache/sling/testing/tools/sling/SlingClient.java