I'm having trouble figuring out what has changed from beta3 to 2.0.0.
My app can no longer connect to my remote repository.
My repository is exposed via the webdav remoting server. I am
connecting with jcr2spi + spi2davex. Previously, this was working for
me with the following code:
HashMap<String, String> params = new HashMap<String, String>();
params.put(JcrUtils.REPOSITORY_URI, repositoryUrl);
repository = JcrUtils.getRepository(params);
This successfully connected to my repository, with the davex spi
connector, under beta3. Under 2.0, this code fails. When I trace the
code, neither of the two RepositoryFactory's consulted can return a
factory from the parameters.
Guessing that it somehow now needs an explicity name for the
repository service factory, I added another parameter, as folows:
params.put(Jcr2spiRepositoryFactory.PARAM_REPOSITORY_SERVICE_FACTORY,
"org.apache.jackrabbit.spi2davex.Spi2davexRepositoryServiceFactory");
This causes the correct attempted resolution; the code now tries to
use the spi2davex service factory to create my repository, but it
still fails. The new failure complains as follows:
ERROR wego.ecms.WGContentRepositoryHelper: Failure initializing
content repository: javax.jcr.RepositoryException: Unable to access a
repository with the following settings:
org.apache.jackrabbit.repository.uri:
http://localhost:8080/contentRepoServer-1.0/server
org.apache.jackrabbit.spi.RepositoryServiceFactory:
org.apache.jackrabbit.spi2davex.Spi2davexRepositoryServiceFactory
The following RepositoryFactory classes were consulted:
org.apache.jackrabbit.commons.JndiRepositoryFactory: declined
org.apache.jackrabbit.jcr2spi.Jcr2spiRepositoryFactory: failed
because of UnsupportedOperationException: Missing implementation
because of DavException: Method REPORT is not defined in RFC
2068 and is not supported by the Servlet API
Perhaps the repository you are trying to access is not available at the moment.
at
org.apache.jackrabbit.commons.JcrUtils.getRepository(JcrUtils.java:159)
at
wego.ecms.WGContentRepositoryHelper.initJCR2SPIRemoteRepository(WGContentRepositoryHelper.java:120)
at
wego.ecms.WGContentRepositoryHelper.<clinit>(WGContentRepositoryHelper.java:67)
at wego.utils.WGContext.initJCRSession(WGContext.java:445)
What do I need to do?