You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by ChadDavis <ch...@gmail.com> on 2010/02/13 01:26:49 UTC

upgrade from 2.0-beta3 to 2.0.0 breaks app

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?

Re: upgrade from 2.0-beta3 to 2.0.0 breaks app

Posted by ChadDavis <ch...@gmail.com>.
Well, I resolved this by following a different API than the one I was
using.  Namely, the one presented on the new Wiki page for how to
connect to a remote repository.

    http://wiki.apache.org/jackrabbit/RemoteAccess

I also needed a couple more jars on the path to make this work.

On Fri, Feb 12, 2010 at 5:26 PM, ChadDavis <ch...@gmail.com> wrote:
> 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?
>