0

I am new to Jackrabbit and trying create a node and save it in the session. I got the following permission issue:

javax.jcr.RepositoryException: Forbidden
    at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:113)
    at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:49)
    at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(RepositoryServiceImpl.java:457)
    at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.access$200(RepositoryServiceImpl.java:399)
    at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl.submit(RepositoryServiceImpl.java:304)
    at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.execute(WorkspaceManager.java:830)
    at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.access$500(WorkspaceManager.java:797)
    at org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:594)
    at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:139)
    at org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:246)
    at org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:328)
    at com.junhao.jcrmagic.JCRMagic.main(JCRMagic.java:27)
Caused by: org.apache.jackrabbit.webdav.DavException: Forbidden
    at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseException(DavMethodBase.java:172)
    at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.checkSuccess(DavMethodBase.java:181)
    at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(RepositoryServiceImpl.java:453)
    ... 9 more

The jar file I am using is jackrabbit-standalone-2.20.2.jar and here's my code:

String url = "http://localhost:8080/server";

Repository repository = JcrUtils.getRepository(url);
SimpleCredentials creds = new SimpleCredentials("admin","admin".toCharArray());
javax.jcr.Session  jcrSession = repository.login(creds, "default");

Node root=jcrSession.getRootNode();
Node adobe = root.addNode("helloworld");

jcrSession.save();

May I know what could have cause the issue and where can I resolve the permission issue?

Thanks in advance!

junhaotee
  • 483
  • 4
  • 10
  • @junhaolee, was there any resolution for this issue, i encounter the same issue as well. Version: jackrabbit-standalone-2.20.2.jar Thanks for sharing any insights; – Integrin Solutions May 05 '21 at 02:48
  • Was able to fix the issue > In our case we use gradle for build and apparently it was a configuration issue on our side, gradle was configured to use 2.12.1 org.apache.jackrabbit:jackrabbit-jcr-rmi:2.12.1, org.apache.jackrabbit:jackrabbit-jcr2dav:2.12.1, while at runtime we had jackrabbit-standalone-2.20.2.jar, Updated gradle build config >> build.gradle to point to jackrabbit 2.20.2 i.e compile 'org.apache.jackrabbit:jackrabbit-jcr-rmi:2.12.1' // Apache 2.0 compile 'org.apache.jackrabbit:jackrabbit-jcr2dav:2.12.1' // Apache 2.0, and the error disappeared – Integrin Solutions May 07 '21 at 20:34

0 Answers0