如何通过 WebDAV 访问 Jackrabbit Oak 存储库?
Posted
技术标签:
【中文标题】如何通过 WebDAV 访问 Jackrabbit Oak 存储库?【英文标题】:How to access a Jackrabbit Oak repository via WebDAV? 【发布时间】:2017-03-11 16:45:58 【问题描述】:当我启动 Jackrabbit 2 存储库时,我可以通过 http://localhost:8080/repository/default 轻松地通过 WebDAV 连接到它
但这不适用于 Oak。
不幸的是,这不是很好的文件,我能找到的所有文件都与 Oak 和 WebDAV 相关,是 Jira 中的这些票
https://issues.apache.org/jira/browse/OAK-4?focusedCommentId=13236811&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13236811 https://issues.apache.org/jira/browse/OAK-104和邮件列表帖子
http://jackrabbit.510166.n4.nabble.com/Exception-while-tryng-to-connect-to-Oak-via-WebDav-td4661166.html#a4661173,这并没有给我任何有用的提示。
所以我的问题实际上是两个问题:
1) 如何通过独立运行的 WebDAV 连接到 Oak 存储库?
2) 如何通过在应用程序中创建/嵌入的 WebDAV 连接到 Oak 存储库?如何暴露端口以及如何启用WebDAV?
是否有任何代码示例?文档真的不够有用。
我检查了 Oak 存储库,并在 https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-examples/standalone/README.md 找到了带有独立应用程序和 README 的 Oak 示例。
上面写着:
完成后,您可以通过执行来运行应用程序
$ java -jar target/oak-standalone-*.jar This would start an Oak based repository which uses filesystem storage. All the content would be by default stored under `oak`
文件夹。服务器将侦听端口 8080 并支持远程访问 通过 DavEx(
/server
)和 WebDAV(/repository
)。
但是,这不起作用。当尝试使用我的 WebDav 客户端或在浏览器中连接到 http://localhost:8080/repository 时,我收到了 404 not found
错误。
【问题讨论】:
【参考方案1】:我在 URL 中缺少工作区名称 (default
)。
按照https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-examples/standalone/README.md 上的说明,然后通过
启动存储库java -jar target/oak-standalone-*.jar
我可以通过http://localhost:8080/repository/default/ 的WebDav 访问它。我错过了将 /default
放在 URL 中。
【讨论】:
以上是关于如何通过 WebDAV 访问 Jackrabbit Oak 存储库?的主要内容,如果未能解决你的问题,请参考以下文章
apache jackrabbit 实现 webdav 客户端怎么设置主体
apache jackrabbit 实现 webdav 客户端怎么设置主体
jdk1.6下使用sardine和jackrabbit-webdav的问题