Hello,
To explain what I did, I just called one method below and the 2nd "save()" gives the exception I pasted beneath: public static synchronized void createRepositoryStructure(Session s, boolean removeExisting) { try { getRootNode(s).addMixin(MIXIN_LOCKABLE); s.save(); } catch (RepositoryException e) { throw e; } try { Node node = getRtdeRootNode(s); if (node != null) { if (removeExisting) { node.remove(); s.save(); } else { return; } } Node root = getRootNode(s); Node rtdeRoot = addNode(root, RTDE_ROOT_NAME); addNode(rtdeRoot, TENANTS_ROOT_NAME); // the following save action produced the exception s.save(); } catch (RepositoryException e) { throw new e; } } I am using DavEx to remotely connecting to a repository at http://localhost:8080/jackrabbit-webapp-2.0.0/server which works in web browser but not with JCR API When I call Session.save(), I got the "Bad Request" exception, but if I use a local repository impl, like TransientRepository, everything works fine. Could you guys help me out? Caused by: javax.jcr.RepositoryException: Bad Request at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConve rter.java:113) at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConve rter.java:49) at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(Re positoryServiceImpl.java:457) at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.access$2 00(RepositoryServiceImpl.java:399) at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl.submit(RepositoryS erviceImpl.java:304) at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.exec ute(WorkspaceManager.java:830) at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.acce ss$500(WorkspaceManager.java:797) at org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager. java:594) at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(Session ItemStateManager.java:139) at org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:246) at org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:328) at com.fiserv.repository.jcr.JCRUtils.createRepositoryStructure(JCRUtils.ja va:196) ... 51 more Caused by: org.apache.jackrabbit.webdav.DavException: Bad Request at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseExc eption(DavMethodBase.java:172) at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.checkSuccess(D avMethodBase.java:181) at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(Re positoryServiceImpl.java:453) ... 60 more Thanks in advance! Xuetao