У меня есть Jackrabbit 2.20.15, работающий внутри сервера приложений Tomcat. Поддержка RMI устарела/удаляется в более новых выпусках, поэтому я пытаюсь проверить соединение с удаленным репозиторием, используя другие протоколы, такие как Davex. Я использую удаленный доступ в качестве ссылки. < /P>
Следующие сопоставления сервлетов присутствуют в Web.xml для развертывания Джекраббита: < /p>
Webdav
/repository/*
JCRWebdavServer
/server/*
RMI
/rmi
JCRInfo
/JCRInfo
< /code>
Я написал простой автономный клиент Java, чтобы попытаться подключиться к серверу и репозитории Джекраббита. Сначала он успешно подключается через RMI: < /p>
Credentials creds = new SimpleCredentials("foouser", ("foopswd").toCharArray());
try {
System.out.println("repository test");
Repository repo = JcrUtils.getRepository("http://foo.server.com:8080/FooContentServer/rmi");
Session session = repo.login(creds);
Node root = session.getRootNode();
System.out.println("Root node name: " + root.getIdentifier());
StringBuffer buffer = new StringBuffer();
buffer.append(repo.getDescriptor(Repository.REP_NAME_DESC));
buffer.append("\n");
buffer.append(repo.getDescriptor(Repository.REP_VERSION_DESC));
buffer.append("\n");
System.out.println(buffer.toString());
}
< /code>
Вывод запуска того, что выше: < /p>
Имя узела корневого узла: кафе-кафе-cabe-cafe-babecafebabe
jackrabbit 2.20.15
Далее я пытаюсь связаться с Davex, а не RMI: < /p>
try {
String url = "http://foo.server.com:8080/FooContentServer/server";
Repository repo = JcrUtils.getRepository(url);
Session session = repo.login(creds);
//Node root = session.getRootNode();
StringBuffer buffer = new StringBuffer();
buffer.append(repo.getDescriptor(Repository.REP_NAME_DESC));
buffer.append("\n");
buffer.append(repo.getDescriptor(Repository.REP_VERSION_DESC));
buffer.append("\n");
System.out.println(buffer.toString());
}
< /code>
Вывод с запуска приведенного выше теста Davex:
null null < /p>
также отметьте, что session.getnode () прокомментируется, потому что На самом деле это будет выбросить исключение в сценарии Davex: < /p>
Javax.jcr.repositoryException: объект JSON должен начинаться с '{'
at org.apache.jackrabbit.spi2davex. RepositoryServiceImpl.getIteMinfos (RepositoryServiceImpl.java:368) < /p>
Я ожидал, что смогу подключиться к репозитории Джекраббита, используя Дейвкс и получить ту же информацию, которую я получил после подключения через Rmi. < /P>
может кто -нибудь сказать мне, что я делаю неправильно?
Спасибо! < /P>
Подробнее здесь: https://stackoverflow.com/questions/794 ... nection-to
Почему мое соединение Davex возвращает различные результаты, чем мое соединение RMI с удаленным репозиторием Джекраббита ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Хэш -функция в Python 3.3 возвращает различные результаты между сеансами
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
C# SMTP Существующее соединение было принудительно закрыто удаленным хостом
Anonymous » » в форуме C# - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-